使用控制点配准投影失真图像
这个例子展示了如何通过选择两个图像共有的控制点并推断对控制点进行对齐的几何变换来对两个图像进行配准。
读取图像
读取图像westconcordorthophoto.png
进入工作区。这张图像是一张已经在地面上注册的正射影像。
昊图公司= imread (“westconcordorthophoto.png”);imshow(正的)文本(大小(邻位的,2),大小(邻位的,1)+ 15,...“图片由马萨诸塞州环境事务执行办公室提供”,...字形大小= 7,HorizontalAlignment =“正确”);
读取图像westconcordaerial.png
进入工作区。这张照片是从飞机上拍摄的,相对于正射影像是扭曲的。由于未配准的图像是从远处拍摄的,而且地形相对平坦,很可能大部分失真是投影的。
未注册= imread (“westconcordaerial.png”);imshow(未注册)文本(大小(未注册,2),大小(未注册,1)+ 15,...“图片由mPower3/ emergence提供”,...字形大小= 7,HorizontalAlignment =“正确”);
选择控制点对
方法打开控制点选择工具,以交互方式选择控制点cpselect
函数。控制点是你可以在两张图片中找到的地标,比如路口或自然景观。选择至少四对控制点,以便cpselect
可以对控制点拟合投影变换。选择相应的移动点和不动点后,关闭工具返回工作空间。
[mp, fp] = cpselect(未登记的,正的,等= true);
推断出几何变换
求出最能使运动点和不动点对齐的射影变换参数fitgeotform2d
函数。
t = fitgeotform2d (mp,《外交政策》,“射影”)
t = projtform2d with properties: dimension: 2
变换未登记的形象
若要将转换应用于未配准的航空图像,请使用imwarp
函数。方法指定转换后图像的大小和位置与邻位图像的大小和位置匹配OutputView
名称-值参数。
Rfixed = imref2d(大小(昊图公司));注册= imwarp(未注册,t, OutputView = Rfixed);
通过将转换后的图像叠加在原始正射影像上,可以看到配准的结果。
imshowpair(邻位的注册,“混合”)
另请参阅
cpselect
|cpcorr
|cpstruct2pairs
|fitgeotrans