在matlab中使用相位相关找出旋转

时间:2014-11-20 02:49:04

标签: image matlab image-processing rotation fft

我只是想知道两个图像之间的旋转角度(相同的图像,但只有不同的东西是旋转),但我已经在这个问题中陷入了将近3个星期。 http://en.wikipedia.org/wiki/Phase_correlation给出的算法仅使用氡变换和相位相关方法,但它不起作用。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

通常,使用傅里叶 - 梅林算法,Matlab实现here来解决这类问题。

潜在的方法是在相位相关之前使用对数极坐标变换。对数极坐标采样图以均匀缩放和旋转方式改变为沿径向和圆周轴的平移。请参阅本文中算法的完整描述:

  

Reddy,B。S.和Chatterji,B。N.,基于FFT的技术   翻译,旋转和尺度不变图像配准,IEEE   图像处理交易,卷。 1996年8月5日第8号

如果您有图像处理工具箱r2014a或更高版本,则有一个内置函数可以完成,它被称为imregcorr

如果您没有工具箱,可以download the function to map an image in polar coordinates(纯旋转)。对于缩放和旋转,here是对数极坐标变换的实现。