<数字图像处理基础与实践(matlab版)>第二章习题 给图片加水印
2018-03-30 22:16
1286 查看
这个学期我们老师开了一门课,对就是下面这本书,如果有也学这本书的同学可以和我一起交流做作业,大概因为这本书新出的,网上都没有答案,老师要交作业所以每次作业都得自己写,关于我们为什么要学这本书,我想大概因为这本书是我们老师编的吧。。。。。。。
这篇文章是第二章节的习题
该题是给了两张图片
“Happy.jpg”
“Mark.bmp”
要求将该水印mark.bmp打到原始图像Happy.jpg上面,最终效果如图
我看了一些专业网站上面加水印,写的很长,包括了傅里叶变换,做这道题的时候我们还没学傅里叶变换,老师只要求用简单的图像代数运算即可,用图像的线性组合函数 imadd和imlincomb即可,有的同学选择了imadd函数来做,我用的式imlincomb
源代码如下
x=imread('Happy.jpg');
y=imread('Mark.bmp');
x1=x(210:302,61:192);
%选取happy图片中要打印的区域
y=im2uint8(y);
%将水印图片更改为happy图片格式
z=imlincomb(0.3,y,1,x1,'uint8');
%将happy图片和水印图片线性组合
x(210:302,61:192)=z;
%将打水印的区域替换到原图片的区域
imshow(x);
函数imlincomb中的参数是可以调整的,我原来写的是1:1的比例发现水印太过生硬,组中调整为0.3:1,最终效果如图
这篇文章是第二章节的习题
该题是给了两张图片
“Happy.jpg”
“Mark.bmp”
要求将该水印mark.bmp打到原始图像Happy.jpg上面,最终效果如图
我看了一些专业网站上面加水印,写的很长,包括了傅里叶变换,做这道题的时候我们还没学傅里叶变换,老师只要求用简单的图像代数运算即可,用图像的线性组合函数 imadd和imlincomb即可,有的同学选择了imadd函数来做,我用的式imlincomb
源代码如下
x=imread('Happy.jpg');
y=imread('Mark.bmp');
x1=x(210:302,61:192);
%选取happy图片中要打印的区域
y=im2uint8(y);
%将水印图片更改为happy图片格式
z=imlincomb(0.3,y,1,x1,'uint8');
%将happy图片和水印图片线性组合
x(210:302,61:192)=z;
%将打水印的区域替换到原图片的区域
imshow(x);
函数imlincomb中的参数是可以调整的,我原来写的是1:1的比例发现水印太过生硬,组中调整为0.3:1,最终效果如图
相关文章推荐
- matlab数字图像/时评处理技术基础--图像处理工具箱简介
- matlab 最基础的数字图像处理 .
- MATLAB GUI图像处理->打开和保存图片
- 数字图像和视频处理的基础-第4周运动估计matlab练习题
- matlab数字图像/视频处理基础 第一篇
- 数字图像处理 第二章 数字图像基础
- 数字图像处理原理与实践(MATLAB版)勘误表
- matlab数字图像/视频处理技术基础 第二篇
- 数字图像和视频处理的基础-第4周运动预计matlab练习题
- matlab数字图像/视频处理技术基础 第三篇
- Matlab数字图像处理基础【7】
- 【数字图像处理】pbm/pgm/ppm图片的读写(Matlab)
- 数字图像处理基础-第二章数字图像处理基础
- [数字图像处理]频域滤波(1)--基础与低通滤波器
- MATLAB图像处理基础知识3 替换矩阵的数值A(A<0) = 1
- 数字图像处理基础
- Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理
- 数字图像处理matlab版第十章(重要)
- <form>、document.all[].value的数字处理
- MATLAB 用for循环语句连续读入并处理一系列图片(图片名含数字和字符)