图像叠加及透明度的调整在matlab下实现

clc;clear


%% 导入图像1,2,显示图像基本信息


%pic_1是大尺寸的彩色风景图,pic_2为小尺寸彩色照片


pic_1 = imread('trim.jpg');


pic_2 = imread('钢铁侠.jpg');


%% 显示大尺寸的彩色风景图和小尺寸彩色照片的原始图像


figure(1)


imshow(pic_1)


figure(2)


h_pic_2 = imshow(pic_2)




%% 显示图片文件的详细信息


info_pic_1 = imfinfo('trim.jpg')


info_pic_2 = imfinfo('钢铁侠.jpg')


%% 小尺寸彩色照片在风景图当中的居中处理


[m1,n1,l1] = size(pic_1);


[m2,n2,l2] = size(pic_2);


t = zeros(m1,n1,l1); 


t = uint8(t);


t((m1/2-m2/2+1):(m1/2+m2/2),(n1/2-n2/2+1):(n1/2+n2/2),:) = pic_2 ;%做居中处理


C = imadd(0.5*t,pic_1);%乘以0.5对中间小照片做透明处理


%原理:简易Alpha混合算法:首先,要能取得上层与下层颜色的 RGB三基色,
%然后用r,g,b 为最后取得的颜色值;r1,g1,b1是上层的颜色值;r2,g2,b2是下层颜色值
%若Alpha=透明度,则

你可能感兴趣的:(图像叠加及透明度的调整在matlab下实现)