标签归档:MATLAB

图像的简单相位配准 with MATLAB

相位配准概述
相位配准是一种非常经典的理论,理论论述互联网上有很多,我直接给出一个流程图,简述重点。

算法流程图

  • 相位配准的原始理论互联网上已经很多,我不过多赘述,使用完全相同的两个图像在空间内平移进行推导。只强调一下,在实际使用时,可以证明,只要两个图像有完全相同的部分,那么就可以使用相位配准
    结论图像
  • 带有旋转/缩放的相位配准不要看普通教材,普通教材愚蠢的试图先绕图像中心旋转缩放,再进行平移。事实上,只要有空间变换(或刚体运动学)知识,就可以知道如果刚体可以仅通过缩放和旋转从A变为B,那么必然可以确定一个空间点O,使刚体A仅绕O进行一次缩放和一次旋转到达B,也就是说,只要我们确定了点O,那么进行对数极换元就可以直接确定旋转和缩放参数。
  • 如果只是绕中心旋转的图片,那么做对数极换元,再做平移的相位配准即可,我必须说,这毫无意义,这里面的工作最大头为对数极换元,which和图像处理没有什么关系。
  • MATLAB 2014a后自带了一个 imregcor 函数,它对重合区域较大(目测至少20%)的两个图像进行相位配准非常高效,平移,旋转 缩放都OK。本文末尾附带的是一个我的实现,它的重难点在于附带了一个图像拼接程序,要比相位配准中求出坐标更复杂。

function runrun()
PhCorrelationRotation('cameraman.png','cameraman_part_rotate_scaling.png',0)
end

function PhCorrelationRotation(baseimgpath,sampleimgpath,deltaH)
if 
Read More