谁能解释一下如何使用 FFT 执行模板匹配。模板小于原始图像。1.到处都说模板必须用零填充。它是如何完成的。它是添加到图像的底部和右侧还是在整个图像周围。
提前致谢。
谁能解释一下如何使用 FFT 执行模板匹配。模板小于原始图像。1.到处都说模板必须用零填充。它是如何完成的。它是添加到图像的底部和右侧还是在整个图像周围。
提前致谢。
您正在使用傅立叶变换来计算互相关;就这么简单。
围绕模板的所有边执行填充。这是因为标准的快速傅里叶变换只能对大小为 2^n 的数据进行操作,因此您的模板和图像的大小需要为 2^n * 2^n。由于通常不是这样,因此通过用零填充外部来调整模板的大小以满足此要求。这些零点对 FFT 计算没有影响。
考虑使用相位相关,额外的工作量非常小,您可以获得很好的结果。
Gonzalez 和 Woods 的第 3 章和第 4 章“数字图像处理”应该可以帮助您更好地理解该理论。
您需要在图像和模板之间执行关联。在某些情况下,在频域中执行这种关联(使用 FFT)可能更有效,而在其他情况下,您可能希望在空间域中执行操作。
一些软件系统使这种选择对用户透明。ImageCorrelate
例如,参见Mathematica ( http://reference.wolfram.com/mathematica/ref/ImageCorrelate.html )中的函数。
这是一个很好的资源,可以回答您的问题和一系列相关的权衡。