1,先拍摄一组图片,比如两幅图:A、B
我直接用网上的两幅图:
2,分别投影到柱面坐标系
就用自己写的柱面投影程序 matlab里 结果:
3,开始配准第一步:SIFT得到匹配对(直接用OpenCV里自带的)
有两三对误匹配对,后来调整阈值得到没有误匹配对的结果。
4,配准第二步:根据匹配对得到图片A、B的变换矩阵H (将上一步的结果保存给matlab然后自己计算变换矩阵H)
图太大了 匹配对坐标输出来给两个txt文件 然后matlab读 计算H变换矩阵
上一次我是用前五个匹配对来计算变换矩阵H 这样误差会很大 所以不能只用五个点 要用尽量多的正确匹配对的坐标计算 这样误差就很小 计算出来的H=[1,0,-255;0,1,4;0,0,1];
5,图像配准第五步:以一幅图为参考图,另一幅图为目标图,对目标图进行H矩阵变换,完成配准
A=imread('F:\fisheye\srcpin1.jpg');
[H,W,k]=size(A);
%先计算目标图的大小
Y=2*W-255+1;
C=zeros(H,Y);
for i=1:H
for j=1:W
C(i,j,1)=A(i,j,1);
C(i,j,2)=A(i,j,2);
C(i,j,3)=A(i,j,3);
y=W+j-255;
x=i+4;
if(x>H||x<1||y>Y||y<1)
continue;
end
C(x,y,1)