哪里可以找到一份好的信息来源,解释FFT相位相关得分?

4
我一直在研究OpenCV的源代码,以了解分数计算。正如您可能已经注意到的那样,该库可以在图像中找到一个带有置信度分数的模板。cvMatchTemplate函数提供了模板在图像中的概率和位置。
由于DFT速度较慢,我决定使用FFTW库进行相位相关。我获取图像,将其扩展到2的幂次方大小,然后对模板执行相同操作,首先为两者计算FFT,乘以两个数组,计算逆FFT,最后规范化结果。
如果我在位图上显示这个结果,它清楚地显示了模板的位置,但是我难以计算相关性得分。我尝试在调试器下逐行运行cvMatchTemplate方法,但此库使用DFT和任意图像大小,因此无法帮助。该方法中使用的所有表格(sum、sqsum等)都是为相应的任意大小创建的,并且FFT使用2的幂次。
如果您能提供关于如何从相位相关的结果计算分数的任何信息,我将不胜感激。有许多来源描述“拿这个,拿那个,将它们相乘,你看到图像上的白点,是的,你找到了”的方法。我需要一个与cvMatchTemplate相同的分数。
我恳请您指向一个包含该计算逻辑的网站、论文或书籍。源代码最好,但我对此毫无希望。
2个回答

2
1) FFTW可以处理非2次幂大小的数组。 2) 你可能需要搜索/研究的主题领域是FFT交叉相关定理:“两个函数交叉相关的傅里叶变换等于各自傅里叶变换的乘积,其中一个已经被复共轭了”。

1
首先,请确保您没有“将图像扩展到2的幂”。我相信您不是这个意思,但是使用FFTW可以计算任意大小的傅里叶变换。
我不明白您正在使用OpenCV做什么。如果您有FFT,则很容易自己计算归一化交叉功率谱,换句话说,“相位相关公式”。
获取您可以获得的图像的最大尺寸FFT,不要忘记窗口。计算CPS。一旦您拥有相关表面,请寻找峰值。
我不知道OpenCV除了FT之外还提供什么相位相关内容,但是您想要的论文是
G.A. Thomas,《电视运动测量用于DATV和其他应用》,1987年,BBC研究部门。

谢谢您的快速回复。我正在使用OpenCV在大图像中查找小图像。您认为我需要窗口化信号吗?在波(声音)处理中,我习惯于这样做。但这是图像处理。顺便说一下,我知道FFTW可以计算任意大小的傅里叶变换,但2的幂次方更快计算。无论如何,我会搜索CPS。 - Celal Ergün
是的,您必须在两个维度上对图像进行窗口处理,这是在找到FT之前进行的基本信号处理。想一想:如果您不进行窗口处理,那么您就会隐式地将信号与矩形函数卷积。如果您想使用2的幂次方FT,则在所需的尺寸中使用图像中心块,而不要“扩展”。 FFTW对于非2的幂次方图像非常快速。 - koan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接