使用阶段的相关性作为注册预处理步骤

该示例示出了如何使用相位相关作为自动图像配准的预备步骤。在这个过程中,在执行阶段的相关性,使用imregcorr,然后传递注册的结果作为基于优化的登记的初始状态下,使用imregister。相位相关和基于优化的登记是互补算法。相位相关是对于查找总值比对,即使是严重错位的图像。基于优化的登记是好的查找精确对准,给出了良好的初始条件。

读取的图像,将在登记的基准图像。

固定= imread('cameraman.tif');imshow(固定);

通过使用旋转,缩放各向同性故意歪曲这一形象,并在剪切创建一个未注册的图像ÿ方向。

THETA = 170;腐= [COSD(THETA)信德(THETA)0;...信德(THETA)COSD(THETA)0;...0 0 1];SC = 2.3;标度= [SC 0 0;0 SC 0;0 0 1];SH = 0.5;剪切= [1 SH 0;0 1 0;0 0 1];TForm的= affine2d(剪切*刻度*腐); moving = imwarp(fixed,tform);

噪声添加到图像,并显示结果。

移动=移动+ UINT8(10 *兰特(尺寸(运动)));imshow(移动)

估计所需使这两个图像对准的注册。imregcorr返回affine2d对象定义的转化。

tformEstimate = imregcorr(移动,固定);

应用估计几何变换的错位图像。指定'OutputView'为了确保注册图像的尺寸与参考图像相同。显示原始图像和登记图像并排侧。你可以看到,imregcorr已经做了很好的工作处理的图像之间的旋转和缩放差异。注册图像,movingReg,非常接近与原始图像对齐,固定。但有些错位依然存在。imregcorr可以处理旋转和缩放失真很好,但不剪切变形。

Rfixed = imref2d(大小(固定));movingReg = imwarp(移动,tformEstimate,'OutputView',Rfixed);imshowpair(固定,movingReg,'剪辑');

查看对准图像叠加在原始图像上,使用imshowpair。这种观点认为,imshowpair利用颜色来错位的亮点区域。

imshowpair(固定,movingReg,“假色”);

要完成注册,使用imregister,经过改造估计通过返回imregcorr作为初始条件。imregister是更有效的,如果两个图像是大致对准在操作的开始。通过估计的转变imregcorr提供此信息imregister。该示例使用具有相同传感器拍摄的两个图像的配准的默认优化和指标值(“单峰”)。

[优化器,度量] = imregconfig(“单峰”);movingRegistered = imregister(移动,固定,...“仿射”,优化,指标,'InitialTransformation',tformEstimate);

显示该登记的结果。注意imregister已经实现了非常精确的配准,给定所提供的良好的初始条件imregcorr

imshowpair(固定,movingRegistered,“缩放”'联合');

也可以看看

|||