图像叠加及透明度的调整在matlab下实现
2016-03-05 11:47
2331 查看
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=透明度,则
%当Alpha=50%时,
% r = r1/2 + r2/2;
% g = g1/2 + g2/2;
% b = b1/2 + b2/2;
C((m1/2-m2/2+1):(m1/2+m2/2),(n1/2-n2/2+1):(n1/2+n2/2),:) =...
C((m1/2-m2/2+1):(m1/2+m2/2),(n1/2-n2/2+1):(n1/2+n2/2),:)-...
pic_1((m1/2-m2/2+1):(m1/2+m2/2),(n1/2-n2/2+1):(n1/2+n2/2),:).*0.5;%因为pic_1没有乘0.5,这里做补偿
figure(3)
imshow(C);
%%
%% 导入图像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=透明度,则
%当Alpha=50%时,
% r = r1/2 + r2/2;
% g = g1/2 + g2/2;
% b = b1/2 + b2/2;
C((m1/2-m2/2+1):(m1/2+m2/2),(n1/2-n2/2+1):(n1/2+n2/2),:) =...
C((m1/2-m2/2+1):(m1/2+m2/2),(n1/2-n2/2+1):(n1/2+n2/2),:)-...
pic_1((m1/2-m2/2+1):(m1/2+m2/2),(n1/2-n2/2+1):(n1/2+n2/2),:).*0.5;%因为pic_1没有乘0.5,这里做补偿
figure(3)
imshow(C);
%%
相关文章推荐
- Matlab绘制跳动的心
- Matlab读写TIFF格式文件
- 图像处理中矩形标记图像中某一块区域matlab中rectangle函数介绍
- matlab strcmp
- matlab的reshape函数
- 基于MATLAB的GUI(Graphical User Interface)音频实时显示设计
- Matlab中用内建函数代替for循环
- Matlab和simulink数据的保存和读取
- MATLAB feof和~feof函数用法
- Matlab中如何读取TXT数据文件
- Matlab 读取文件夹里所有的文件
- libsvm 在matlab中保存读取model文件的接口
- Matlab GUI通用函数get和set
- matlab中如何获取当前日期时间函数
- matlab在数字图像处理笔记(2)
- MATLAB并行工具箱GPU加速测试
- load multiple mat files in matlab
- matlab 坐标图动画,动态显示数据
- Riesz变换MATLAB代码
- 恢复matlab文件关联