摘要:本方法主要是通过调用matlab的工具函数实现非同源图像的简单配准,精度要求不高时可以采用该方法。
baseIm= imread('6-im1.bmp');//读入基准图像
[inputIm,map] = imread('6-g-org.bmp');//读入待配准图像H = cpselect(inputIm,baseIm);//手动选取基准点,并保存保存
load orgCP.mat;//载入基准点
%%选择变换类型,不同的变换类型配准精度不一,选择最优配准即可
type ='projective'% 'similarity'%'affine' %'piecewise linear'%'nonreflectivesimilarity'%'piecewise linear'% ;
%%求出从待配准图到基准图的坐标变换关系
T = cp2tform(input_points,base_points,type);
%%将待配准图放到基准图的坐标系下,xRange是横坐标的取值范围,yRange是纵坐标的取值范围,
%%Reg是配准后的图像
[Reg xRange yRange] =imtransform(inputIm,T);
[m1,n1,p1] = size(baseIm);
[m2,n2,p2] = size(Reg);
%从配准后的大图中截取与基准图等大的局部图像
rowStart = ceil(-yRange(1));
rowEnd = floor(-yRange(1)+m1