<数字图像处理基础与实践(matlab版)>第二章习题 给图片加水印

        这个学期我们老师开了一门课,对就是下面这本书,如果有也学这本书的同学可以和我一起交流做作业,大概因为这本书新出的,网上都没有答案,老师要交作业所以每次作业都得自己写,关于我们为什么要学这本书,我想大概因为这本书是我们老师编的吧。。。。。。。



<数字图像处理基础与实践(matlab版)>第二章习题 给图片加水印_第1张图片

    这篇文章是第二章节的习题


   该题是给了两张图片

<数字图像处理基础与实践(matlab版)>第二章习题 给图片加水印_第2张图片

“Happy.jpg”


“Mark.bmp”



要求将该水印mark.bmp打到原始图像Happy.jpg上面,最终效果如图

<数字图像处理基础与实践(matlab版)>第二章习题 给图片加水印_第3张图片


我看了一些专业网站上面加水印,写的很长,包括了傅里叶变换,做这道题的时候我们还没学傅里叶变换,老师只要求用简单的图像代数运算即可,用图像的线性组合函数 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版)>第二章习题 给图片加水印_第4张图片

你可能感兴趣的:(懒人笔记,MATLAB图像处理)