文档

使用空间引用注册两个图像以增强显示

本例展示了如何在配准中使用空间引用对象来理解两幅图像之间的空间关系,并有效地显示它们。这个示例带来一个图像,称为移动图像,与另一个图像对齐,称为固定的形象。

阅读同一场景的两张稍微不对齐的图像。

固定= imread(“westconcordorthophoto.png”);移动=不动“westconcordaerial.png”);

显示移动的(未注册的)图像。

iptsetpref (“ImshowAxesVisible”“上”imshow(移动)text(size(移动,2),size(移动,1)+30,...图片由mPower3/Emerge提供...“字形大小”7“HorizontalAlignment”“对”);

控件的预选控制点,加载其中的mat文件固定而且移动图像和创建一个几何变换适合控制点,使用fitgeotrans

负载westconcordpointstform = fitgeotrans(movingPoints, fixedPoints,“射影”);

属性所必需的转换移动图像,使用固定图像,使用imwarp.本例使用可选参数“FillValues”参数指定填充值(白色),这将有助于显示固定变换后的图像移动图像,检查注册。注意,几何变换的全部内容移动图像是存在的,现在称为注册.还要注意,没有空白行或空白列。

注册= imwarp(移动,tform,“FillValues”, 255);图中,imshow(注册);

叠加变换后的图像,注册,在固定图像,使用imshowpair.请注意这两个图像是如何错配的。这是因为imshowpair假设图像都在默认的内在坐标系中。接下来的步骤提供了两种方法来解决这个显示问题。

图,imshowpair(固定的,注册,“混合”);

约束变换后的图像,注册的行数和列数以及相同的空间限制固定的形象。这确保已注册的图像看起来与固定图像已注册,但将外推超出固定图像范围的已注册图像区域将被丢弃。对象的大小和位置,创建一个默认空间引用对象固定图像,并使用imwarp的“OutputView”参数创建约束重采样图像registered1.在固定映像上显示已注册映像。在这个视图中,图像似乎已注册,但并非所有未注册的图像都可见。

Rfixed = imref2d(大小(固定));Registered1 = imwarp(移动,tform,“FillValues”, 255,“OutputView”, Rfixed);图,imshowpair (registered1固定,“混合”);

作为替代,使用optionalimwarp语法,该语法返回输出空间引用对象,该对象指示完整转换图像在与固定的形象。在固定映像上显示已注册映像,并注意现在完整的注册图像是可见的。

[registered2, Rregistered] = imwarp(移动,tform,“FillValues”, 255);图,imshowpair(固定,Rfixed、registered2 Rregistered,“混合”);

清理。

iptsetpref (“ImshowAxesVisible”“关闭”
这个话题有用吗?