




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上DWT水印源码1%DWT水印源码%完全根据DCT1修改,只为了抛砖引玉%人生在于尝试,快乐。%有错误的地方希望大家指正%嵌入源码clcclear all;% 保存开始时间start_time=cputime;k=20; blocksize=8; % 设置块的大小% 读入原图像file_name='_lena_std_bw.bmp'cover_object=double(imread(file_name);% 原图像的行数与列数Mc=size(cover_object,1);
2、0; %原图像行数Nc=size(cover_object,2); %原图像列数% 最大嵌入信息量max_message=Mc*Nc/(blocksize2);% 读入水印图像file_name='c.bmp'message=double(imread(file_name);%水印图像的行数与列数Mm=size(message,1); %水印行数Nm=size(message,2);
3、 %水印列数message_vector=reshape(message,1,Mm*Nm);% 检查水印信息是否过大if (Mm*Nm> max_message) error('水印太大')end%将随机数发生器的状态置为1100randn('state',1100);% 产生watermarked_image,并写入原图信息watermarked_image=cover_object;% 将图像分块嵌入% 当 (2,2) > (2,3) 且 message
4、_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');
5、 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
6、)=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);
7、60; 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);
8、; end else if cD1(2,3) - cD1(2,2) < k cD1(2,3)=cD1(2,3)+(k/2); cD1(2,2)=cD1(2,2)-(k/2); end end %IDWT watermarked_image(x:x+blocksize-1
9、,y:y+blocksize-1)= idwt2(cA1,cH1,cV1,cD1,'haar',Mc,Nc); % 移动到下一块 if (x+blocksize) >= Nc x=1; y=y+blocksize; else x=x+blocksize; end waitbar(kk/length(message_vector),h);endclose(h);% 转换为uint8并写入dwt_watermarked.bmpwaterma
10、rked_image_uint=uint8(watermarked_image);imwrite(watermarked_image_uint,'dwt_watermarked.bmp','bmp');% 显示运行时间elapsed_time=cputime-start_time,% 计算psnr值psnr=psnr(cover_object,watermarked_image), % 显示图像figure(1)imshow(message,);title('水印');figure(2)subplot(1,2,1);imshow(watermar
11、ked_image,)title('嵌入水印图像')subplot(1,2,2);imshow(cover_object,);title('原图');%提取源码clear all;% 保存开始时间start_time=cputime;blocksize=8; % 设置块的大小% 读入嵌入水印图像file_name='dwt_watermarked.bmp'watermarked_image=double(imread(file_name);% 嵌入水印图像的行数与列数Mw=size(watermarked_image,1);
12、60; %嵌入水印图像的行数Nw=size(watermarked_image,2); %嵌入水印图像的列数% 最大嵌入信息量max_message=Mw*Nw/(blocksize2);% 读入原始水印file_name='c.bmp'orig_watermark=double(imread(file_name);% 原始水印的行数与列数Mo=size(orig_watermark,1); %原始水印的行数No=size(orig_watermark,2
13、); %原始水印的列数% 将图像分块提取水印x=1;y=1;h=waitbar(0,'水印提取中,请等待');for (kk = 1:max_message) % 对块进行dwt变换 cA1,cH1,cV1,cD1 = dwt2(watermarked_image(x:x+blocksize-1,y:y+blocksize-1),'haar'); % 如果cD1(2,2) > cD1(3,3) 那么 message_vector(kk)=0 % 否则 message_v
14、ector(kk)=1 if cD1(2,2)>cD1(3,3) message_vector(kk)=0; else message_vector(kk)=1; end % 移动到下一块 if (x+blocksize) >= Mw x=1; y=y+blocksize; else x=x+blocksize; end waitbar(kk/max_message,h);endclose(h);% 将message重新排列message_vector=message_vector(1,1:Mo*No); %只需前Mo*N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年托福考试阅读真题模拟模拟试卷:新能源技术在建筑领域的
- 安徽工商职业学院《数据库概论课程设计》2024-2025学年第一学期期末试卷
- 湖南工程学院《结构设计原理B》2024-2025学年第一学期期末试卷
- 山西晋中理工学院《财务软件应用》2024-2025学年第一学期期末试卷
- 2025年初识摄影技巧摄影基础技能进阶模拟题集及答案解析
- 石家庄医学高等专科学校《临床检验基础实验》2024-2025学年第一学期期末试卷
- 2025年外语翻译岗位招聘考试指南及面试技巧解析
- 重庆能源职业学院《新时代中国特色社会主义与实践》2024-2025学年第一学期期末试卷
- 2025年税务师考试重点梳理与习题集
- 2025年高考数学冲刺复习策略与技巧
- 枣庄学院《图学基础与计算机绘图》2024-2025学年第一学期期末试卷
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- 养老护理员培训班课件
- 2025-2030城市矿产开发利用政策支持与商业模式创新报告
- 产品线库存管理与补货预测系统
- 2025年高考(山东卷)历史真题及答案
- 医学减重管理体系
- 咯血与呕血的护理
- 初中历史教师培训讲座
- 2025年新营运损失费赔偿协议书
- 手术部运用PDCA循环提高手术室术后设备器材定位归还率品管圈
评论
0/150
提交评论