首页 / 算法 / 基于DCT系数关系的图像水印算法
基于DCT系数关系的图像水印算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基于DCT系数关系的图像水印算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1651字,纯文字阅读大概需要3分钟。
内容图文
![基于DCT系数关系的图像水印算法](/upload/InfoBanner/zyjiaocheng/616/d60a52f289b24f3db93734d266c835e4.jpg)
1、DCT域的图像水印嵌入与提取
在信号的频域(变换域)中隐藏信息要比在时域中嵌入信息具有更好的鲁棒性。一副图像经过时域到频域的变换后,可将待隐藏信息藏入图像的的显著区域,这种方法比LSB以及其他一些时域水印算法更具抗攻击能力,而且还保持了对人类感官的不可察觉性。常用的变换域方法有离散余弦变换(DCT)、离散小波变换(DWT)和离散傅立叶变换(DFT)等 。介绍一种提取秘密信息的时候不需要原始图像的盲水印法,算法的思想是利用载体中两个特定DCT系数的相对大小来表示隐藏的信息。
2、原理分析
载体图像分为8×8分块,进行二维DCT变换,分别选择其中的两个位置,比如用(u1,v1)和(u2,v2)代表所选定的两个系数的坐标。如果Bi (u 1, v1)<Bi (u 2 , v2) ,代表隐藏1,如果相反,则交换两系数。如果Bi (u 1, v1)>Bi (u 2 , v2) ,代表隐藏0,如果相反,则交换两系数。提取的时候接收者对包含水印的图像文件进行二维DCT变换,比较每一块中约定位置的DCT系数值,根据其相对大小,得到隐藏信息的比特串,从而恢复出秘密信息。
3、注意事项
但是在使用上述算法的过程中,注意到如果有一对系数大小相差非常少,往往难以保证携带图像在保存和传输的过程中以及提取秘密信息的过程中不发生变化。因此在实际的设计过程中,一般都是引入一个Alpha变量对系数的差值进行控制,将两个系数的差别放大,可以保证提取秘密信息的正确性。
4、嵌入水印信息
源代码 dcthiding.m如下:
5、信息提取
源代码 dctextract.m 如下:
6、结果分析
将一串数字当作秘密信息进行DCT 域的图像水印嵌入与提取,并按照步骤给出实验中间过程的结果和最终的结果。
需要用到三个函数str2bit、bit2str、tostr,需要建立三个函数文件,要保证这三个函数文件和上面两个脚本文件在一个文件夹里面。执行dcthiding.m这个脚本文件,会生成一个watermarkedlena.bmp,这个文件就是加密后的文件,执行完的结果如下图:
执行程序,生成隐藏文件watermarkedlady.bmp,与原文件比较可以发现其中一些地方发生了变化:
内容总结
以上是互联网集市为您收集整理的基于DCT系数关系的图像水印算法全部内容,希望文章能够帮你解决基于DCT系数关系的图像水印算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。