基于matlab的数字图像处理--图像拼接

使用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('覆盖拼接结果');

效果如下图所示:

基于matlab的数字图像处理--图像拼接_第1张图片

你可能感兴趣的:(数字图像处理)