使用FFT进行模板匹配

时间:2011-08-04 16:07:21

标签: image-processing fft frequency template-matching

任何人都可以解释如何使用FFT执行模板匹配。模板小于原始图像。 它到处都声明模板必须用零填充。怎么做它是添加到图像的底部还是右侧,还是添加到整个图像周围。

提前致谢。

3 个答案:

答案 0 :(得分:2)

您正在使用傅里叶变换来计算互相关;就这么简单。

在模板的所有边上执行填充。这是因为标准快速傅里叶变换只能对大小为2 ^ n的数据大小进行操作,因此模板和图像的大小必须为2 ^ n * 2 ^ n。由于通常不是,因此通过用零填充外部来调整模板以满足此要求。这些零对FFT计算没有影响。

考虑使用相位相关,额外的努力非常小,你可以获得很好的结果。

答案 1 :(得分:1)

冈萨雷斯和伍兹的第3章和第4章“数字图像处理”应该可以帮助你更好地理解这个理论。

您需要在图片和模板之间执行关联。在某些情况下,在频域(使用FFT)执行此相关可能更有效,而在其他情况下,您可能希望在空间域中执行此操作。

某些软件系统使这一选择对用户透明。例如,参见Mathematica中的函数ImageCorrelatehttp://reference.wolfram.com/mathematica/ref/ImageCorrelate.html)。

答案 2 :(得分:1)

这是一个great resource,可以回答你的问题以及一系列相关的权衡。

相关问题