使用matlab进行图像的拼接,实现功能的代码如下:
img_01 = imread('p1.jpg'); % 读入图像 img_02 = imread('p2.jpg'); % 读入图像 P1=rgb2gray(img_01); %转化为灰度图像 P22=rgb2gray(img_02); %转化为灰度图像 P2=imresize(P22,[256,256]); %重定义像素 figure(1); %打开新窗口 subplot(2,2,1); imshow(img_01);%显示输入图像 title('原始图像--01'); subplot(2,2,2); imshow(img_02);%显示输入图像 title('原始图像--02'); subplot(2,2,3); imshow(P1);%显示输入图像 title('灰度图像--01'); subplot(2,2,4); imshow(P2);%显示输入图像 title('灰度图像--02'); [row1,col1] = size(P1); [row2,col2] = size(P2); row1 = max(row1,row2); col1 = max(col1,col2); row2 = min(row1,row2); col2 = min(col1,col2); %初始化合成后的图像 im_12 = zeros(row1,col1); im_12(1:row1,1:col1,:) = P1; im_12(row1-row2+1:row1,col1-col2+1:col1,:) = P2; im_12 = uint8(im_12); figure(2); %打开新窗口 %测试发现可以省略 imshow(im_12);%显示输入图像 title('覆盖拼接结果');
效果如下图所示: