数字水印中关于DCT算法研究.docVIP

  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文档。上传文档
查看更多
数字水印中关于DCT算法研究

数字水印中关于DCT算法研究   摘 要:在我国现代信息计算机网络技术、多媒体技术和信息技术不断发展的过程中,数字化已经成为展现信息的主要手段,从而方便了数字多媒体信息的存储、复制和传播。在此没有限制任意编辑、复制、修改及传播数字图像、音乐等的背景下,就导致出现了信息安全、版权纷争及盗版等多种社会问题。数字水印是现代全新的技术,其指的是信息隐藏技术在研究过程中的重要内容。数字水印能够对现实版权进行有效保护,目前其已经成为多媒体信息安全研究中的重点内容。数字水印能够利用相应的算法在被保护数字多媒体内融入秘密信息,也就是水印,其表示版权所属及跟踪侵犯的行为。利用分析数字水印算法空域和变换域并且设计,有效确定分块DCT数字图像水印算法,比如生成水印、嵌入水印、提取和检测等。在具体使用过程中,通过DCT变换实现水印图像的生成,攻击水印图像,验证鲁棒性。   关键词:数字水印;水印算法;离散余弦变换;Cox   DOI:10.16640/j.cnki.37-1222/t.2018.09.125   1 DCT算法中数字水印的嵌入   通?^离散余弦变换性质可以看出来,利用二维离散余弦实现图像转换之后,图像大部分能量都是在变换域中低频部分集中。其主要是由于人眼视觉系统对于DCT系数低频部分比较敏感。所以,水印信息无法在此部分能量中叠加。另外,高频系数在系数进行图像压缩时容易丢掉。所以,一般将水印加在变换域系数矩阵的低频接近中频系数的区域。为了适应图像的压缩方式,在嵌入水印之前通常先对图像进行8*8大小的分块。   以一副512*512大小的lena灰度图像和我们的校徽灰度图像为例说明水印嵌入的具体步骤:   首先,将512*512的原始图像I系数矩阵分割成为多个8*8的小块,那么此原始图像就会被分割成为64*64小块,实现每个小块的二维离散余弦变换。   其次,原始图像转变成为多个系统绝阵,此多个水印图像矩阵中的每个矩阵相互对应的原始图像DCT系数,使用公式对水印嵌入进行计算。   最后,对此小块信息矩阵实现二维DCT的逆变换,之后合并成为一个图像,从而能够得到图像,此图像已经嵌入图像。   用MATLAB实现数字水印的程序如下:   %读入原始图像和水印图像并显示   I=imread(f:\lena512.jpg);   figure(1);   subplot(2,2,1);   imshow(I);   title(原始图像);   J=imread(f:\1.jpg);   subplot(2,2,2);   imshow(J);   title(水印图像);   %对水印图像进行arnold置乱预处理   H=double(J);   tempImg=H; %图像矩阵赋给tempImg   for n=1:5 %置乱次数   for u=1:64   for v=1:64   temp=tempImg(u,v);   ax=mod((u-1)+(v-1),64)+1;%新像素行位置   ay=mod((u-1)+2*(v-1),64)+1;%新像素列位置   outImg(ax,ay)=temp;   end   end   tempImg=outImg;   end   G=uint8(outImg);%得到置乱后的水印图像   %嵌入水印   for p=1:64   for q=1:64 %p、q都是1到64,是因为有64*64个8*8的块,每次循环处理一个块   BLOCK1=I(((p-1)*8+1):p*8,((q-1)*8+1):q*8);%每个8*8的块   BLOCK1=dct2(BLOCK1);%做2维的DCT变换   BLOCK1(4,5)=BLOCK1(4,5)+0.2*G(p,q);%在每块DCT系数的4行5列处嵌入水印,系数可调   W(((p-1)*8+1):p*8,((q-1)*8+1):q*8)=idct2(BLOCK1);%做DCT反变换   end   end   %显示嵌入水印后的图像   imwrite(uint8(W), lena_mark.jpg , jpg);   subplot(2,2,3);   imshow(lena_mark.jpg);   title(水印嵌入之后的图像);   图1.1和1.2分别给出原始图像和水印图像,图1.3为嵌入水印图像后的图像。实验发现,随着嵌入强度的增大,嵌入水印后的图像效果也越来越不好。   2 DCT算法中数字水印的提取   在实现水印提取的过程中,要以水印嵌入策略为基础进行逆过程,那么在此过程中要使嵌入水印图像块利用DCT转换以后系

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档