此示例演示如何使用相位相关作为自动图像配准的初步步骤。在此过程中,您将使用imregcorr
,然后将该注册的结果作为基于优化的注册的初始条件传递,使用imregister
.相位相关和基于优化的配准是互补算法。相位相关有助于找到大致对齐,即使是严重错位的图像。基于优化的配准有助于找到精确对齐,前提是初始条件良好。
读取将作为注册中参考图像的图像。
固定= imread (“摄影师,tif”); imshow(固定);
通过使用旋转、各向同性缩放和剪切来故意扭曲此图像,从而创建未注册的图像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(移动)
估计使这两幅图像对齐所需的配准。imregcorr
返回一个仿射2D
定义转换的对象。
tformEstimate=imregcorr(移动,固定);
将估计的几何变换应用于未对齐的图像。指定“OutputView”
确保注册图像与参考图像大小相同。并排显示原始图像和注册图像。你可以看到imregcorr
很好地处理了图像之间的旋转和缩放差异。注册图像,移动注册
,非常接近于与原始图像对齐,固定的
.但是一些不协调仍然存在。imregcorr
可以很好地处理旋转和缩放变形,但不能处理剪切变形。
Rfixed=imref2d(大小(固定));movingReg=imwarp(正在移动,tFormEstate,“OutputView”, Rfixed);imshowpair(固定、移动注册、,“蒙太奇”);
使用查看覆盖在原始图像上的对齐图像imshowpair
.在这个视图中,imshowpair
使用颜色突出显示不对齐的区域。
imshowpair(固定、移动注册、,“假彩色”);
完成注册,使用imregister
,传递由返回的估计转换imregcorr
作为初始条件。imregister
如果两个图像在操作开始时大致对齐,效果会更好。由imregcorr
提供以下信息imregister
.该示例使用默认的优化器和度量值对使用相同传感器(“单峰”
).
[优化器,度量]=imregconfig(“单峰”);移动,固定,...“仿射”,优化器,度量,“InitialTransformation”,t估计值);
显示此注册的结果。请注意imregister
由于提供了良好的初始条件,实现了非常精确的注册imregcorr
.
imshowpair(固定、移动、注册、,“缩放”,“关节”);