资源描述:
《matlab的图像拼接程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、--WORD格式--可编辑---I1=imread('left.jpg');%ò????ùóDμ?μ¥òyo???óD?ü??I1=double(I1);[h1w1d1]=size(I1);%?èóéd1±??al1?ù±???d1I2=imread('right.jpg');I2=double(I2);[h2w2d2]=size(I2);%showinputimagesandpromptforcorrespondencesfigure;subplot(1,2,1);image(I1/255);axisimage;holdon;title('firstinputima
2、ge');[X1Y1]=ginput(2);%gettwopointsfromtheusersubplot(1,2,2);image(I2/255);axisimage;holdon;title('secondinputimage');[X2Y2]=ginput(2);%gettwopointsfromtheuser%estimateparametervector(t);Z=[X2'Y2';Y2'-X2';1100;0011]';xp=[X1;Y1];t=Zxp;%solvethelinearsystema=t(1);%=scos(alpha)b=t(2);%=ss
3、in(alpha)tx=t(3);ty=t(4-----WORD格式--可编辑---);%constructtransformationmatrix(T)T=[abtx;-baty;001];%warpincomingcornerstodeterminethesizeoftheoutputimage(intoout)cp=T*[11w2w2;1h21h2;1111];Xpr=min([cp(1,:),0]):max([cp(1,:),w1]);%minx:maxxYpr=min([cp(2,:),0]):max([cp(2,:),h1]);%miny:maxy[Xp,
4、Yp]=ndgrid(Xpr,Ypr);[wphp]=size(Xp);%=size(Yp)%dobackwardstransform(fromouttoin)X=T[Xp(:)Yp(:)ones(wp*hp,1)]';%warp%re-samplepixelvalueswithbilinearinterpolationclearIp;xI=reshape(X(1,:),wp,hp)';yI=reshape(X(2,:),wp,hp)';Ip(:,:,1)=interp2(I2(:,:,1),xI,yI,'*bilinear');%redIp(:,:,2)=inte
5、rp2(I2(:,:,2),xI,yI,'*bilinear');%greenIp(:,:,3)=interp2(I2(:,:,3),xI,yI,'*bilinear');%blue%offsetandcopyoriginalimageintothewarpedimageoffset=-round([min([cp(1,:),0])min([cp(2,:),0])]);Ip(1+offset(2):h1+offset(2),-----WORD格式--可编辑---1+offset(1):w1+offset(1),:);double(I1(1:h1,1:w1,:));%s
6、howtheresultfigure;image(Ip/255);axisimage;title('mosaicimage');I1=double(imread('left.jpg'));[h1w1d1]=size(I1);%?èóéd1±??al1?ù±?g1I2=double(imread('right.jpg'));[h2w2d2]=size(I2);%showinputimagesandpromptforcorrespondencesfigure;subplot(1,2,1);image(I1/255);axisimage;holdon;title('firs
7、tinputimage');[X1Y1]=ginput(2);%gettwopointsfromtheusersubplot(1,2,2);image(I2/255);axisimage;holdon;title('secondinputimage');[X2Y2]=ginput(2);%gettwopointsfromtheuser%estimateparameter-----WORD格式--可编辑---vector(t);Z=[X2'Y2';Y2'-X2';1100;0011]';xp=[X1;Y1];t=Zxp;%solvethelinear