【问题标题】:find out rotation using phase correlation in matlab在matlab中使用相位相关找出旋转
【发布时间】:2015-01-17 19:12:22
【问题描述】:

我只想找出两个图像之间的旋转角度(相同的图像,但唯一不同的是旋转),但我在这个问题上停留了将近 3 周。 http://en.wikipedia.org/wiki/Phase_correlation 给出的算法仅使用氡变换和相位相关方法,但它不起作用。谁能帮帮我?

【问题讨论】:

  • 在图像处理中,相位相关是一种图像配准的方法,它使用快速频域方法来估计两个相似图像之间的相对平移偏移。 尝试应用旋转,然后计算图像之间的 bin 到 bin 距离。如果没有噪音并且图像相同,则欧几里德距离应该没问题
  • 如果您展示您目前拥有的代码,您将提高您的机会或获得有用的帮助,并解释为什么它在当前形式中对您不满意。
  • @CapeCode Code 我应该的,谢谢你的帮助

标签: image matlab image-processing rotation fft


【解决方案1】:

通常,这类问题通过傅里叶-梅林算法解决,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 是对数极坐标变换的实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2018-09-15
    • 2015-09-04
    • 2013-11-23
    相关资源
    最近更新 更多