这个例子展示了如何通过选择控制点共同的图像和推断几何变换其对齐到的控制点寄存器的两个图像。
阅读图片westconcordorthophoto.png
进入工作区。此图片是已经被注册到地面的正射影像。
邻= imread('westconcordorthophoto.png');imshow(邻位)文本(大小(邻位,2),尺寸(邻位,1)15,...“环境事务的美国马萨诸塞州行政办公室的图片由”,...'字体大小',7,'水平对齐','对');
阅读图片westconcordaerial.png
进入工作区。该图像是从飞机上取,并且相对于正射影像失真。由于未注册的图像是从一个距离取和地形相对平坦,很可能大多数失真的是射影。
未登记= imread('westconcordaerial.png');imshow(未注册的)文本(大小(未注册,2),尺寸(未注册的,1)15,...“mPower3提供图片/冒出”,...'字体大小',7,'水平对齐','对');
要选择控制点交互,通过打开控制点选择工具cpselect
功能。控制点,你可以在这两个图像,如道路交叉口或自然特征找到标志性建筑。至少选择4对控制点,使cpselect
可以容纳一个射影变换的控制点。您选择相应的移动和固定点之后,关闭工具返回到工作区。
[熔点,FP] = cpselect(注销,邻,'等待',真正);
找到射影变换最佳对准时的移动使用的参数和固定点fitgeotrans
功能。
T = fitgeotrans(熔点,FP,“投影”);
要改造适用于未登记的航拍图像,使用imwarp
功能。指定该变换图像的尺寸和位置通过使用OutputView名称 - 值对参数的邻图像的尺寸和位置相匹配。
Rfixed = imref2d(大小(邻位));注册= imwarp(未注册的,吨,'OutputView',Rfixed);
通过在原始的正射影像叠加在变换后的图像看到注册的结果。
imshowpair(邻,注册,'混合')
cpcorr
|cpselect
|cpstruct2pairs
|fitgeotrans