信息隐藏 实验五 Patchwork 图像信息隐藏.docVIP

信息隐藏 实验五 Patchwork 图像信息隐藏.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息隐藏 实验五 Patchwork 图像信息隐藏

实验五 Patchwork 图像信息隐藏 实验目的 了解Patchwork信息隐藏特点, 掌握基于Patchwork 的图像信息隐藏原理 设计并实现一种 Patchwork 的信息隐藏方法 实验环境 1, Windows XP 操作系统 2, Matlab 7.1版本软件 3, BMP格式图片文件 实验原理 Patchwork是指从载体数据中选择一些数据组成两个集合,通过修改这两个集合之间的某种关系来携带水印信息。这两个集合可以是两个系数、两组系数或者是两个特征量。两个集合之间的关系可以是大小关系、能量关系、逻辑关系和奇偶关系等。Patchwork方法嵌入水印时,通过修改集合之间的某种关系来嵌入水印;提取水印时则根据对应的关系来提取嵌入的水印信息。 在本实验报告中,验证了通过随机方式把像素分组的方法。随机选择N对像素点(ai和bi),然后将ai点的值增加d,将bi点的像素值减少d。 同时,设计了自己的算法。先把图像的像素写成一维矩阵,根据矩阵下标4*n形式和4*n-1形式分为两组,将下标为4*n形式所对应的像素增加常量d=2.3,将下标为4*n-1形式所对应的像素减少常量d=2.3。 实验内容 1, 验证通过随机方式把像素分组的方法。 (1)嵌入秘密信息 clc; clear all; oi=imread(baboon.bmp);%读入载体图像 ni=rgb2gray(oi); wi=ni; [row col]=size(wi); wi=double(wi); wi=wi(:); n=floor((row*col)/10); length=row*col; rand(state,123);%产生随机数的密钥 a=rand(1,n);%产生N长度的随机数 d=2.3;%定义修改的分量 count=0; k=1; while k=n if (a(1,k)=0.5) wi(k*10,1)=wi(k*10,1)+d; wi(k*10-1,1)=wi(k*10-1,1)-d; end k=k+1; end for i=1:row for j=1:col wil(i,j)=wi(row*(j-1)+i,1); end end wil=uint8(wil); imwrite(wil,watermarked.bmp); subplot(1,2,1);imshow(ni);%显示原始图像 subplot(1,2,2);imshow(wil)%显示新图像 下图为原图与嵌入信息的图像: (2)计算两个样本均值的差 clc; clear; oi=imread(watermarked.bmp);%读入嵌入水印后的图像 wi=oi; [row col]=size(wi); wi=double(wi); wi=wi(:); n=floor((row*col)/10); r=1.6; rand(state,123);%产生随机数的密钥 a=rand(1,n);%产生N长度的随机数 d=2.3;%定义修改的分量 count=0; k=1; tempa=0; tempb=0; while k=n if(a(1,k)=0.5) tempa=tempa+wi(k*10,1); tempb=tempb+wi(k*10-1,1); count=count+1; end k=k+1; end avea=tempa/count; aveb=tempb/count; if((avea-aveb)r*d) watermark=1; else watermark=0; end 计算后的结果在workspace中可以看出: 2,设计了自己的算法。 先把图像的像素写成一维矩阵,根据矩阵下标4*n形式和4*n-1形式分为两组,将下标为4*n形式所对应的像素增加常量d=2.3,将下标为4*n-1形式所对应的像素减少常量d=2.3。 (1)嵌入秘密信息 clc; clear all; oi=imread(baboon.bmp);%读入载体图像 ni=rgb2gray(oi); wi=ni; [row col]=size(wi); wi=double(wi); wi=wi(:); length=row*col; n=length/4; d=2.3; for k=1:n wi(k*4,1)=wi(k*4,1)+d; wi(k*4-1,1)=wi(k*4-1,1)-d; k=k+1; end for i=1:row for j=1:col wil(i

文档评论(0)

yanpan1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档