我正在尝试使用Reddy Chatterji 论文中描述的相位相关进行图像配准。在我的情况下,图像可以相对于彼此进行缩放和平移。
据我了解,查找相对比例的算法是(参见:论文中的流程图):
F1 = DFT(I1)
F2 = DFT(I2)
H1 = Highpass(F1)
H2 = Highpass(F2)
L1 = LogPolar(Magnitude(H1))
L2 = LogPolar(Magnitude(H2))
PC = PhaseCorrelate(L1,L2)
PM = norm(PC)
R = IDFT(PhaseCorr/PM)
P = Peak(R)
Scale = LogBase^P[1]
Scale 给了我看似荒谬的值(从图像到图像的差异很大,而且从不正确)。
但忽略尺度,相同的相位相关方法适用于平移;所以我怀疑我的对数极坐标变换有问题。这是一个例子,我已经解决了翻译问题——左图是原图,右图已被裁剪和翻译——解决方案显示在原图的顶部:
对于对数极坐标变换,我首先变换到极坐标空间:
这是对数极坐标空间中的示例图像,(以防出现明显错误):
最后,这显示了在相位相关步骤之前图像经过的实际变换(顶部是高通滤波器后的 DFT 幅度,底部是对数极坐标空间中的幅度):
我正在使用 OpenCV,它具有 LogPolar 和 PhaseCorrelate 方法。虽然 PhaseCorrelate,就像我的手动实现一样,为我提供了正确的翻译答案,但它在规模上是不正确的。由于使用 OpenCV LogPolar 或我自己的不会影响正确性,所以我一定遗漏了一些东西。
任何帮助,将不胜感激。