在注册使用阶段相关性作为预处理步骤
这个例子展示了如何使用相关联的初步步骤自动图像配准。在这个过程中,执行阶段相关使用imregcorr
注册,然后通过的结果,文中针对注册使用的初始条件imregister
。文中针对注册和相位相关技术是互补的算法。阶段相关性很好寻找总值对齐,甚至严重扭曲的图像。文中针对注册好寻找精确对齐,因为一个好的初始条件。
读一个图像,将参考图像注册。
固定= imread (“cameraman.tif”);imshow(固定)
创建一个未注册的形象,故意扭曲这幅图像使用旋转时,各向同性缩放和剪切y方向。
θ= 170;腐烂= [cosd(θ)信德(θ)0;…信德(θ)cosd(θ)0;…0 0 1);sc = 2.3;规模= [sc 0 0;sc 0;0 0 1);sh = 0.1;剪切= [1 sh 0;0 1 0;0 0 1);tform = affinetform2d规模(剪切* *腐烂); moving = imwarp(fixed,tform);
添加噪声的图像,并显示结果。
移动= imnoise(移动,“高斯”);imshow(移动)
估计登记需要带这两个图像对齐。imregcorr
返回一个simtform2d
对象定义了转换。
tformEstimate = imregcorr(移动、固定)
tformEstimate = simtform2d属性:维数:2:0.4300 RotationAngle: -169.1579翻译:[257.9866 - 302.4839]R: [2 x2双]:[3 x3的两倍)
估计几何变换应用到不一致的形象。指定OutputView
名称-值参数,确保注册图像与参考图像大小相同。
Rfixed = imref2d(大小(固定));movingReg = imwarp(移动、tformEstimate OutputView = Rfixed);
显示原始图像和注册在蒙太奇形象。你可以看到,imregcorr
做了一份好工作处理旋转和缩放图像之间的差异。注册的形象,movingReg
,非常接近与原始图像,固定
。然而,一些失衡仍然存在。imregcorr
可以处理好规模旋转和扭曲,但不能剪切变形。
movingReg imshowpair(固定,“蒙太奇”);
视图对齐图像叠加在原始图像,使用imshowpair
。在这个视图中,imshowpair
使用颜色来强调错位的领域。
movingReg imshowpair(固定,“falsecolor”);
完成注册,使用imregister
,通过估计转换返回imregcorr
作为初始条件。imregister
更有效,如果两个图像大致均衡的操作。估计的转换imregcorr
提供这些信息imregister
。示例使用默认的优化和度量值注册两个相同的传感器拍摄的图像,这是一个monomodal配置。
(优化器,度量)= imregconfig (“monomodal”);movingRegistered = imregister(移动,固定的,“仿射”,…优化器,公制,InitialTransformation = tformEstimate);
显示的结果登记。请注意,imregister
达到一个非常准确的登记,所提供的良好的初始条件imregcorr
。
imshowpair(固定、movingRegistered比例=“联合”);