




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
function dwtg1clear all;clc;%保存开始时间start_time=cputime;figure(1);%读出原始图像subplot(1,3,1);input=imread(2010101405231310.bmp);imshow(input);title(原始图像);%读出水印subplot(1,3,2);water=imread(华侨大学256bmp.bmp);imshow(water,);title(水印);%三色分离input=double(input);water=double(water);inputr=input(:,:,1);waterr=water(:,:,1);inputg=input(:,:,2);waterg=water(:,:,2);inputb=double(input(:,:,3);waterb=double(water(:,:,3);%系数r大.增加鲁棒性,r小增加透明性r=0.06;%水印R的分解Cwr,Swr=WAVEDEC2(waterr,1,haar);%图像R的分解Cr,Sr=WAVEDEC2(inputr,2,haar);%水印的嵌入Cr(1:size(Cwr,2)/16)=. Cr(1:size(Cwr,2)/16)+r*Cwr(1:size(Cwr,2)/16);k=0;while k=size(Cr,2)/size(Cwr,2)-1 Cr(1+size(Cr,2)/4+k*size(Cwr,2)/4:size(Cr,2)/4+. (k+1)*size(Cwr,2)/4)=Cr(1+size(Cr,2)/4+. k*size(Cwr,2)/4:size(Cr,2)/4+(k+1)*size(Cwr,2)/4+. r*Cwr(1+size(Cwr,2)/4:size(Cwr,2)/2); Cr(1+size(Cr,2)/2+k*size(Cwr,2)/4:size(Cr,2)/2+. (k+1)*size(Cwr,2)/4)=Cr(1+size(Cr,2)/2+. k*size(Cwr,2)/4:size(Cr,2)/2+(k+1)*size(Cwr,2)/4+. r*Cwr(1+size(Cwr,2)/2:3*size(Cwr,2)/4); Cr(1+3*size(Cr,2)/4+k*size(Cwr,2)/4:3*size(Cr,2)/4+. (k+1)*size(Cwr,2)/4)=Cr(1+3*size(Cr,2)/4+. k*size(Cwr,2)/4:3*size(Cr,2)/4+(k+1)*size(Cwr,2)/4+. r*Cwr(1+3*size(Cwr,2)/4:size(Cwr,2); k=k+1;end;Cr(1:size(Cwr,2)/4)=Cr(1:size(Cwr,2)/4)+r*Cwr(1:size(Cwr,2)/4);g=0.03;%水印G的分解Cwg,Swg=WAVEDEC2(waterg,1,haar);%图像G的分解Cg,Sg=WAVEDEC2(inputg,2,haar);%水印的嵌入Cg(1:size(Cwg,2)/16)=. Cg(1:size(Cwg,2)/16)+g*Cwg(1:size(Cwg,2)/16);k=0;while k=size(Cg,2)/size(Cwg,2)-1 Cg(1+size(Cg,2)/4+k*size(Cwg,2)/4:size(Cg,2)/4+. (k+1)*size(Cwg,2)/4)=Cg(1+size(Cg,2)/4+. k*size(Cwg,2)/4:size(Cg,2)/4+(k+1)*size(Cwg,2)/4+. g*Cwg(1+size(Cwg,2)/4:size(Cwg,2)/2); Cg(1+size(Cg,2)/2+k*size(Cwg,2)/4:size(Cg,2)/2+. (k+1)*size(Cwg,2)/4)=Cg(1+size(Cg,2)/2+. k*size(Cwg,2)/4:size(Cg,2)/2+(k+1)*size(Cwg,2)/4+. g*Cwg(1+size(Cwg,2)/2:3*size(Cwg,2)/4); Cg(1+3*size(Cg,2)/4+k*size(Cwg,2)/4:3*size(Cg,2)/4+. (k+1)*size(Cwg,2)/4)=Cg(1+3*size(Cg,2)/4+. k*size(Cwg,2)/4:3*size(Cg,2)/4+(k+1)*size(Cwg,2)/4+. g*Cwg(1+3*size(Cwg,2)/4:size(Cwg,2); k=k+1;end;Cg(1:size(Cwg,2)/4)=Cg(1:size(Cwg,2)/4)+g*Cwg(1:size(Cwg,2)/4);b=0.12;%水印B的分解Cwb,Swb=WAVEDEC2(waterb,1,haar);%图像B的分解Cb,Sb=WAVEDEC2(inputb,2,haar);%水印的嵌入Cb(1:size(Cwb,2)/16)=. Cb(1:size(Cwb,2)/16)+b*Cwb(1:size(Cwb,2)/16);k=0;while k=size(Cb,2)/size(Cwb,2)-1 Cb(1+size(Cb,2)/4+k*size(Cwb,2)/4:size(Cb,2)/4+. (k+1)*size(Cwb,2)/4)=Cb(1+size(Cb,2)/4+. k*size(Cwb,2)/4:size(Cb,2)/4+(k+1)*size(Cwb,2)/4+. b*Cwb(1+size(Cwb,2)/4:size(Cwb,2)/2); Cb(1+size(Cb,2)/2+k*size(Cwb,2)/4:size(Cb,2)/2+. (k+1)*size(Cwb,2)/4)=Cb(1+size(Cb,2)/2+. k*size(Cwb,2)/4:size(Cb,2)/2+(k+1)*size(Cwb,2)/4+. b*Cwb(1+size(Cwb,2)/2:3*size(Cwb,2)/4); Cb(1+3*size(Cb,2)/4+k*size(Cwb,2)/4:3*size(Cb,2)/4+. (k+1)*size(Cwb,2)/4)=Cb(1+3*size(Cb,2)/4+. k*size(Cwb,2)/4:3*size(Cb,2)/4+(k+1)*size(Cwb,2)/4+. b*Cwb(1+3*size(Cwb,2)/4:size(Cwb,2); k=k+1;end;Cb(1:size(Cwb,2)/4)=Cb(1:size(Cwb,2)/4)+b*Cwb(1:size(Cwb,2)/4);%图像的重构inputr=WAVEREC2(Cr,Sr,haar);inputg=WAVEREC2(Cg,Sg,haar);inputb=WAVEREC2(Cb,Sb,haar);%三色的叠加temp=size(inputr);pic=zeros(temp(1),temp(2),3);for i=1:temp(1); for j=1:temp(2); pic(i,j,1)=inputr(i,j); pic(i,j,2)=inputg(i,j); pic(i,j,3)=inputb(i,j); end;end;output=uint8(round(pic);%转化为unit8watermarked_image_uint8=uint8(output);imwrite(watermarked_image_uint8,watermarked1.bmp,bmp);%显示时间elapsed_time=cputime-start_time,%输出结果subplot(1,3,3);imshow(watermarked_image_uint8);title(水印图像);%以下是水印提取算法clear all;clc;%保存时间start_time=cputime;figure(1);%读出原始图像subplot(1,2,1);input=imread(2010101405231310.bmp);imshow(input);title(原始图像);%读出水印图像subplot(1,2,2);watermarked_image=imread(watermarked1.bmp);imshow(watermarked_image,);title(水印图像);%三色分离input=double(input);watermarked_image=double(watermarked_image);inputr=input(:,:,1);watermarked_imager=watermarked_image(:,:,1);inputg=input(:,:,2);watermarked_imageg=watermarked_image(:,:,2);inputb=input(:,:,3);watermarked_imageb=watermarked_image(:,:,3); %水印图像R的分解Cwr,Swr=WAVEDEC2(watermarked_imager,2,haar);%图像R的分解Cr,Sr=WAVEDEC2(inputr,2,haar);%水印图像G的分解Cwg,Swg=WAVEDEC2(watermarked_imageg,2,haar);%图像R的分解Cg,Sg=WAVEDEC2(inputg,2,haar); %水印图像B的分解Cwb,Swb=WAVEDEC2(watermarked_imageb,2,haar);%图像B的分解Cb,Sb=WAVEDEC2(inputb,2,haar); %提取水印小波系数%提取水印R的小波系数r=0.06;for k=0:3 whr(k+1,:)=Cwr(1+size(Cwr,2)/4+k*size(Cwr,2)/16:. size(Cwr,2)/4+(k+1)*size(Cwr,2)/16)-. Cr(1+size(Cr,2)/4+k*size(Cr,2)/16:. size(Cr,2)/4+(k+1)*size(Cr,2)/16); wvr(k+1,:)=Cwr(1+size(Cwr,2)/2+k*size(Cwr,2)/16:. size(Cwr,2)/2+(k+1)*size(Cwr,2)/16)-. Cr(1+size(Cr,2)/2+k*size(Cr,2)/16:. size(Cr,2)/2+(k+1)*size(Cr,2)/16); wdr(k+1,:)=Cwr(1+3*size(Cwr,2)/4+k*size(Cwr,2)/16:. 3*size(Cwr,2)/4+(k+1)*size(Cwr,2)/16)-. Cr(1+3*size(Cr,2)/4+k*size(Cr,2)/16:. 3*size(Cr,2)/4+(k+1)*size(Cr,2)/16);endwhr=(whr(1,:)+whr(2,:)+whr(3,:)+whr(4,:)/(4*r);wvr=(wvr(1,:)+wvr(2,:)+wvr(3,:)+wvr(4,:)/(4*r);wdr=(wdr(1,:)+wdr(2,:)+wdr(3,:)+wdr(4,:)/(4*r);war=(Cwr(1:size(Cwr,2)/16)-Cr(1:size(Cr,2)/16)/r;%提取水印小波系数%提取水印G的小波系数g=0.03;for k=0:3 whg(k+1,:)=Cwg(1+size(Cwg,2)/4+k*size(Cwg,2)/16:. size(Cwg,2)/4+(k+1)*size(Cwg,2)/16)-. Cg(1+size(Cg,2)/4+k*size(Cg,2)/16:. size(Cg,2)/4+(k+1)*size(Cg,2)/16); wvg(k+1,:)=Cwg(1+size(Cwg,2)/2+k*size(Cwg,2)/16:. size(Cwg,2)/2+(k+1)*size(Cwg,2)/16)-. Cg(1+size(Cg,2)/2+k*size(Cg,2)/16:. size(Cg,2)/2+(k+1)*size(Cg,2)/16); wdg(k+1,:)=Cwg(1+3*size(Cwg,2)/4+k*size(Cwg,2)/16:. 3*size(Cwg,2)/4+(k+1)*size(Cwg,2)/16)-. Cg(1+3*size(Cg,2)/4+k*size(Cg,2)/16:. 3*size(Cg,2)/4+(k+1)*size(Cg,2)/16);endwhg=(whg(1,:)+whg(2,:)+whg(3,:)+whg(4,:)/(4*g);wvg=(wvg(1,:)+wvg(2,:)+wvg(3,:)+wvg(4,:)/(4*g);wdg=(wdg(1,:)+wdg(2,:)+wdg(3,:)+wdg(4)/(4*g);wag=(Cwg(1:size(Cwg,2)/16)-Cg(1:size(Cg,2)/16)/g;%提取水印小波系数%提取水印B的小波系数b=0.12;for k=0:3 whb(k+1,:)=Cwb(1+size(Cwb,2)/4+k*size(Cwb,2)/16:. size(Cwb,2)/4+(k+1)*size(Cwb,2)/16)-. Cb(1+size(Cb,2)/4+k*size(Cb,2)/16:. size(Cb,2)/4+(k+1)*size(Cb,2)/16); wvb(k+1,:)=Cwb(1+size(Cwb,2)/2+k*size(Cwb,2)/16:. size(Cwb,2)/2+(k+1)*size(Cwb,2)/16)-. Cb(1+size(Cb,2)/2+k*size(Cb,2)/16:. size(Cb,2)/2+(k+1)*size(Cb,2)/16); wdb(k+1,:)=Cwb(1+3*size(Cwb,2)/4+k*size(Cwb,2)/16:. 3*size(Cwb,2)/4+(k+1)*size(Cwb,2)/16)-. Cb(1+3*size(Cb,2)/4+k*size(Cb,2)/16:. 3*size(Cb,2)/4+(k+1)*size(Cb,2)/16);endwhb=(whb(1,:)+whb(2,:)+whb(3,:)+whb(4,:)/(4*b);wvb=(wvb(1,:)+wvb(2,:)+wvb(3,:)+wvb(4,:)/(4*b);wdb=(wdb(1,:)+wdb(2,:)+wdb(3,:)+wdb(4,:)/(4*b);wab=(Cwb(1:size(Cwb,2)/16)-Cb(1:size(Cb,2)/16)/b;%重构水印图像cwr=war,whr,wvr,wdr;swr(:,1)=sqrt(size(war,2),sqrt(size(war,2),2*sqrt(size(war,2);swr(:,2)=sqrt(size(war,2),sqrt(size(war,2),2*sqrt(size(war,2);wr = waverec2(cwr,swr,haar); cwg=wag,whg,wvg,wdg;swg(:,1)=sqrt(size
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全水上救生员培训课件
- 转化项目申请书
- 在校入籍申请书范文
- 企业贷款续贷申请书
- 科研立项申请书范本
- 宿舍文明评选申请书
- 公房上市申请书
- 公司开业庆典申请书
- 大学部长申请书范文
- 班长申请书50字
- 第9课《创新增才干》第1框《创新是引领发展的第一动力》【中职专用】中职思想政治《哲学与人生》(高教版2023基础模块)
- 工业机器人离线编程与应用-认识FANUC工业机器人
- JCT 932-2013 卫生洁具排水配件
- 法院宣传稿范文大全500字
- 3.2.2新能源汽车电机控制器结构及工作原理课件讲解
- 机场摆渡车司机合同
- 【正版授权】 ISO 9227:2022/Amd 1:2024 EN Corrosion tests in artificial atmospheres - Salt spray tests - Amendment 1: Footnote of Warning
- JTG-D40-2011公路水泥混凝土路面设计规范
- 夹芯板安装施工工艺方案
- 2024年广东佛山市交通投资集团有限公司招聘笔试参考题库附带答案详解
- 2024年03月广东佛山市顺德区飞鹅永久墓园管理处招考聘用管理员工笔试历年(2016-2023年)真题荟萃带答案解析
评论
0/150
提交评论