matlab数字图像处理-给图片加入可视水印信息

时间:2024-02-20 20:19:58

将文件夹路径改成了我想要存放代码的文件夹下

然后也是在网上百度,找到了一个代码,敲着模仿了一个

自己建立了一个脚本文件

>>edit test1

然后在脚本中添加

%读取待嵌入水印的图像和水印图像
img=imread(\'C:\Users\Jaoany\Desktop\practices\实验\lena256.BMP\');

%读入水印图像如果是灰度图像,先二值化(就是黑白,只有0和255,自己可以百度详查)

wm=uint8(imread(\'C:\Users\Jaoany\Desktop\practices\实验\bigc.bmp\'));
%修改水印图片大小
wm1=imresize(wm,[32,32]);
%获取水印和原图的行数列数
[row,col]=size(img);
[row_w,col_w]=size(wm1);
%给水印图片乘以一个分量得到相应的像素值
b=wm1*255;
%使水印和原图像维度一致
ones1=uint8(ones(row-row_w,col_w));
ones2=uint8(ones(row,col-col_w));
a=[b;ones1];
c=[a ones2];
%嵌入水印
waterMark=img+c;
%显示明文水印
imshow(waterMark);
%存入图片
imwrite(waterMark,\'C:\Users\Jaoany\Desktop\practices\实验\waterMark.jpg\')

%运行调试直接在命令行窗口输入脚本文件名

>>test1

看一下运行效果图

做一个小修改

%嵌入水印
waterMark=img-c;

得到