- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
=====WORD完整版----可编辑----专业资料分享=====
----完整版学习资料分享----
一、题目:dwt水印
二、目的:编程实现水印的嵌入与还原
三、算法及其实现:水印的嵌入与还原
小波变换具有空间-频率的多尺度性,对图像的分解可以连续地从低分辨率过渡到高分辨率,也可以对图像整体进行变换,DWT还具有多分辨率特性,可以很好地与人类视觉系统(HVS)特性相匹配。
本算法将载体图像进行小波分解,利用公式实现水印信息的嵌入。将2值图像中0和1的值变成-1和1。。将水印入宿主图形重要的小波系数上。
水印的提取完全是水印嵌入的逆过程。
四、实现工具:Matlab
五、程序代码:
(1)dwt1_embed.m
%嵌入源码
clc
clear all;
% 保存开始时间
start_time=cputime;
k=20;
blocksize=8; % 设置块的大小
% 读入原图像
file_name=zimu.bmp;
cover_object=double(imread(file_name));
% 原图像的行数与列数
Mc=size(cover_object,1); %原图像行数
Nc=size(cover_object,2); %原图像列数
% 最大嵌入信息量
max_message=Mc*Nc/(blocksize^2);
% 读入水印图像
file_name=c.bmp;
message=double(imread(file_name));
%%水印图像的行数与列数
Mm=size(message,1); %水印行数
Nm=size(message,2); %水印列数
message_vector=reshape(message,1,Mm*Nm);
% 检查水印信息是否过大
if (Mm*Nm max_message)
error(水印太大)
end
%将随机数发生器的状态置为1100
randn(state,1100);
% 产生watermarked_image,并写入原图信息
watermarked_image=cover_object;
% 将图像分块嵌入
% 当 (2,2) (2,3) 且 message_pad(kk)=0
% 当 (2,2) (2,3) 且 message_pad(kk)=1
%%经过分析可以得出结论:在提取水印时,如果cD1(2,2)cD1(2,3)便是嵌入了水印的黑色像素,
%%反之则是嵌入了白色像素
x=1;
y=1;
h=waitbar(0,嵌入水印,请等待);
for (kk = 1:length(message_vector))
% 对块进行DWT变换
[cA1,cH1,cV1,cD1] = dwt2(cover_object(x:x+blocksize-1,y:y+blocksize-1),haar);
a=cD1;
% 如果 message_pad(kk)== 0
if (message_vector(kk) == 0)
% 且(2,2) (2,3) ,交换它们
if (cD1(2,2) cD1(2,3))
temp=cD1(2,3);
cD1(2,3)=cD1(2,2);
cD1(2,2)=temp;
end
% 如果message_pad(kk) == 1,
elseif (message_vector(kk) == 1)
% 且(2,2) (2,3) ,交换它们
if (cD1(2,2) = cD1(2,3))
temp=cD1(2,3);
cD1(2,3)=cD1(2,2);
cD1(2,2)=temp;
end
end
% 检查(2,2) , (2,3)的差是否= k
if cD1(2,2) cD1(2,3)
if cD1(2,2) - cD1(2,3) k
cD1(2,2)=cD1(2,2)+(k/2);
cD1(2,3)=cD1(2,3)-(k/2);
end
else
if cD
您可能关注的文档
- 人教版三年级上册数学期末分类练习题.doc
- 中南大学-Linux系统实验报告.doc
- 营改增价税分离需求.doc
- 压力表设计说明书.doc
- 预制叠合板吊装施工方案(含专家意见).doc
- 新疆2019年高考理科数学模拟试题及答案.doc
- 收音机课程设计报告.doc
- 最新人教版五年级下册数学试卷(全套10份附答案).doc
- 三年级语文下册第三单元教学设计冀教版.pdf
- (八省联考)2025年安徽省新高考综合改革适应性演练数学试卷带解析带答案(典型题).docx
- 2024吉林省梨树县施工员之设备安装施工基础知识考试内部题库【轻巧夺冠】.docx
- 青年文化:智能传播时代新语态与身份认同.docx
- (八省联考)2025年安徽省新高考综合改革适应性演练数学试卷带解析含完整答案(精选题).docx
- (八省联考)2025年安徽省新高考综合改革适应性演练数学试卷带解析含答案【黄金题型】.docx
- 项目部副经理岗位职责描述.docx
- 智能化消防救援设备的应用与发展.docx
- 数字普惠金融创业农民幸福感提升研究.docx
- (八省联考)2025年安徽省新高考综合改革适应性演练数学试卷带解析附完整答案(全国通用).docx
- 2024年一级建造师《建设工程经济》模拟试题及答案解析(一).pdf
- 基于复合回报函数的空战指向控制策略探讨.docx
文档评论(0)