主要内容

使用相位相关作为配准的预处理步骤

此示例演示如何使用相位相关作为自动图像配准的初步步骤。在此过程中,您将使用imregcorr,然后将该注册的结果作为基于优化的注册的初始条件传递,使用imregister.相位相关和基于优化的配准是互补算法。相位相关有助于找到大致对齐,即使是严重错位的图像。基于优化的配准有助于找到精确对齐,前提是初始条件良好。

读取将作为注册中参考图像的图像。

固定= imread (“摄影师,tif”); imshow(固定);

Figure包含axes对象。axes对象包含image类型的对象。

通过使用旋转、各向同性缩放和剪切来故意扭曲此图像,从而创建未注册的图像Y方向。

θ=170;rot=[cosd(θ)sind(θ)0;...信德(θ)cosd(θ)0;...0 0 1];sc=2.3;比例=[sc 0;0 sc 0;0 0 1];sh=0.5;剪切=[1 SH0;0 1 0;0 0 1];tform=仿射2D(剪切*比例*旋转);移动=imwarp(固定,tform);

向图像添加噪波,并显示结果。

移动=移动+uint8(10*rand(大小(移动));imshow(移动)

Figure包含axes对象。axes对象包含image类型的对象。

估计使这两幅图像对齐所需的配准。imregcorr返回一个仿射2D定义转换的对象。

tformEstimate=imregcorr(移动,固定);

将估计的几何变换应用于未对齐的图像。指定“OutputView”确保注册图像与参考图像大小相同。并排显示原始图像和注册图像。你可以看到imregcorr很好地处理了图像之间的旋转和缩放差异。注册图像,移动注册,非常接近于与原始图像对齐,固定的.但是一些不协调仍然存在。imregcorr可以很好地处理旋转和缩放变形,但不能处理剪切变形。

Rfixed=imref2d(大小(固定));movingReg=imwarp(正在移动,tFormEstate,“OutputView”, Rfixed);imshowpair(固定、移动注册、,“蒙太奇”);

Figure包含axes对象。axes对象包含image类型的对象。

使用查看覆盖在原始图像上的对齐图像imshowpair.在这个视图中,imshowpair使用颜色突出显示不对齐的区域。

imshowpair(固定、移动注册、,“假彩色”);

Figure包含axes对象。axes对象包含image类型的对象。

完成注册,使用imregister,传递由返回的估计转换imregcorr作为初始条件。imregister如果两个图像在操作开始时大致对齐,效果会更好。由imregcorr提供以下信息imregister.该示例使用默认的优化器和度量值对使用相同传感器(“单峰”).

[优化器,度量]=imregconfig(“单峰”);移动,固定,...“仿射”,优化器,度量,“InitialTransformation”,t估计值);

显示此注册的结果。请注意imregister由于提供了良好的初始条件,实现了非常精确的注册imregcorr

imshowpair(固定、移动、注册、,“缩放”,“关节”);

Figure包含axes对象。axes对象包含image类型的对象。

另见

|||