M=256; %原图256x256
N=32; %水印32x32,同时256/8=32
K=8; %原图按8x8分块
I=zeros(M,M);
EI=zeros(M,M); %保存原图的边界图
J=zeros(N,N);
BLOCK=zeros(K,K);
Alpha1=0.1;
Alpha2=0.03;
T1=3;
subplot(3,2,1);
I=imread('original.bmp');
imshow(I);
title('原图');
EI=edge(I,'prewitt');
subplot(3,2,2);
imshow(EI);
title('原图边界');
subplot(3,2,3);
J=imread('originalWater.bmp');
imshow(J);
title('水印');
%%%%%%% 分块,DCT变换 %%%%%%%
for p=1:N %256/8
for q=1:N
x=(p-1)*K+1; %每个小块左上角的点
y=(q-1)*K+1;
BLOCK=I(x:x+K-1,y:y+K-1); %取每个小块相应元素保存到BLOCK
BLOCK=dct2(BLOCK); %二维离散余弦变换
EIBlock=EI(x:x+K-1, y:y+K-1);
%% 嵌入水印,反DCT变换
T=sum(sum(EIBlock));
if T>T1
Alpha=Alpha1;
else
Alpha=Alpha2;
end
if J(p,q)==0
a=-1;
else
a=1;
end
BLOCK=BLOCK*(1+a*Alpha);
BLOCK=idct2(BLOCK); %反二维离散余弦变换
I(x:x+K-1,y:y+K-1)=BLOCK;
end
end
subplot(3,2,4);
imshow(I);
title('嵌入水印后的图像');
imwrite(I,'marked.bmp');
%%%%% 提取水印 %%%%%
I=imread('original.bmp'); %原图
P=imread('marked.bmp'); %嵌入水印的图像
%提取水印算法
for p=1:N
for q=1:N
x=(p-1)*K+1;
y=(q-1)*K+1;
BLOCK1=I(x:x+K-1,y:y+K-1);
BLOCK1=idct2(BLOCK1);
BLOCK2=P(x:x+K-1,y:y+K-1);
BLOCK2=idct2(BLOCK2);
a=BLOCK2(1,1)/BLOCK1(1,1)-1;
if a<0
W(p,q)=0;
else
W(p,q)=1;
end
end
end
subplot(3,2,5);
imshow(W);
title('提取的水印');
imwrite(W,'waterPrint2.bmp');
没有合适的资源?快使用搜索试试~ 我知道了~
【图像隐写】基于matlab二维DCT自适应水印【含Matlab源码 9083期】.zip
共6个文件
bmp:4个
m:1个
jpg:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 24 浏览量
2024-11-08
22:33:20
上传
评论
收藏 128KB ZIP 举报
温馨提示
CSDN海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
资源推荐
资源详情
资源评论
收起资源包目录
【图像隐写】基于matlab二维DCT自适应水印【含Matlab源码 9083期】.zip (6个子文件)
【图像隐写】基于matlab二维DCT自适应水印【含Matlab源码 9083期】
original.bmp 65KB
waterPrint2.bmp 2KB
marked.bmp 65KB
main.m 2KB
运行结果.jpg 22KB
originalWater.bmp 190B
共 6 条
- 1
资源评论
海神之光
- 粉丝: 5w+
- 资源: 6110
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功