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