MATLAB实现图像拼接程序源码clear all;
clc;
J=imread('D:\63.JPG');
figure(1) ,imshow(J);
J1=rgb2gray(J);
figure(2) ,imshow(J1);
fs=J1(20:10:end,20:10:end); figure(3),imshow(fs);
whos fs;
imwrite(fs,'3.tif');
G=imread('D:\64.JPG');
figure(4),imshow(G)
G1=rgb2gray(G);
figure(5),imshow(G1);
fs=G1(20:10:end,20:10:end); figure(6),imshow(fs);
whos fs;
imwrite(fs,'4.tif');
Y=imread('D:\程序\work\3.tif'); [M N]=size(Y);
H=imread('D:\程序\work\4.tif');
xiaotu=Y(1:80,1:50);
figure(7);
imshow(xiaotu);
I=double(H);
X=double(xiaotu);
[M1 N1]=size(I);
[m1 n1]=size(X);
for i=1:M1-m1+1
for j=1:N1-n1+1
temp=I(i:i+m1-1,j:j+n1-1);
c(i,j)=sum(sum(temp.*X));
b(i,j)=sqrt(sum(sum(temp.*temp)).*sum(sum(X.*X)));
t(i,j)= c(i,j)/b(i,j);
end
end
MAX=max(max(t));
[hang,lie]=find(t==MAX);
hang
lie
A=H(1:258,1:lie+20);
figure(8);
imshow(A);
B=Y(1:258,21:N);
figure(9);
imshow(B);
HE=cat(2,A,B);
figure(10);
imshow(HE);
B1=Y(1:258,10:30);
figure(11),imshow(B1);
A1=H(1:258,lie+10:lie+30); figure(12),imshow(A1);
K=imlincomb(.5,A1,.5,B1); figure(13),imshow(K);
X1=H(1:258,1:lie+10);
Y1=Y(1:258,30:193);
E=cat(2,X1,K,Y1);
figure(14),imshow(E);