《毕业设计(论文)基于DCT域的数字水印算法研究与应用.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于DCT域的数字水印算法研究与应用.doc(32页珍藏版)》请在三一办公上搜索。
1、基于DCT域的数字水印算法研究与应用摘要:随着计算机和网络技术的普及,数字产品的保密性及版权保护等问题逐渐凸显出来,这使得数字水印技术成为热点问题。本论文研究的是基于离散余弦变换(Discrete Cosine Transformation)域的数字水印的嵌入与提取问题。文中首先阐述了DCT域数字水印嵌入与提取的基本思路与方法,然后运用MATLAB软件实现了可见水印与不可见水印的嵌入与提取,并对两种水印分别进行了抗攻击性测试,包括压缩攻击、加噪声攻击、旋转攻击等。提取结果与测试结果达到了预期的要求。最后还分别从嵌入方法、输出结果、提取方法等方面比较了可见水印与不可见水印的同异。关键词:数字水印
2、 离散余弦变换 嵌入 提取 鲁棒性毕业设计中文摘要毕业设计英文摘要Title Digital Watermarking Algorithm Research and Application Based on The DCT Domain AbstractWith the popularization of computer and network technology, digital product privacy and copyright protection, which makes gradually highlighted digital watermarking technolo
3、gy to become a hot issue. Digital watermarking embedding and extracting problem based on the DCT domain has been researched in this paper. Firstly, this paper expounds the basic idea and method of digital watermark and extraction based on the DCT domain. And then the visible and not visible watermar
4、king embedding and extracting are realized by using MATLAB software. Lastly the two watermarks separately carried on the resistance to attack, including compression test attack and noise adding attack, whirling attack, etc. Expected results have been achieved. Finally, the visible and not visible wa
5、termarking have been compared separately from embedding method, output and extraction method.Keywords:digital watermark DCT domain watermark extraction robustness目 次1 绪论11.1 课题的研究现状及热点问题11.2 数字水印的关键技术及应用21.3 本文的主要研究内容52 数字水印的基本原理62.1 DCT域数字水印嵌入原理62.2 DCT域数字水印提取原理62.3 本章小结73 数字水印的嵌入设计73.1 DCT域数字水印嵌入流
6、程73.2 水印嵌入的结果83.3 本章小结114 数字水印的提取设计124.1 DCT域数字水印提取流程124.2 水印提取的结果134.3 本章小结155 鲁棒性分析165.1 抗噪声测试165.2 抗压缩测试205.3 本章小结21结论22参考文献23致谢25附录A26附录B281 绪论1.1 课题的研究现状及热点问题随着计算机的普及,许多传统媒体内容都向数字化转变,并且在电子商务中即将占据巨大市场份额,如mp3的网上销售,数字影院的大力推行,网上图片、电子书籍销售等等,在无线领域,随着移动网络由第二代到第三代的演变,移动用户将能方便快速的访问因特网上数字媒体内容,基于有线或无线网络的数
7、字媒体内容的应用即将是信息时代新的传统。但是,数字媒体内容的安全问题成了瓶颈问题,一度制约着信息化进程。为了有效地解决信息安全和版权保护等问题,近年来提出了加解密、数字签名、数字指纹、数字水印等多种技术。其中数字水印是20世纪90年代出现的一门崭新的技术,它通过在数字产品中嵌入水印信息来确定数字产品的所有权或检验数字内容的原始性1。它弥补了加解密技术不能对解密后的数据提供进一步保护的不足, 弥补了数字签名不能在原始数据中一次性嵌入大量信息的弱点, 弥补了数字指纹仅能给出版权破坏者信息的局限2。国际上一些成立了专门的机构,如拷贝保护技术工作组(CPTWG,Copy Protection Tech
8、nique Working Group)从1995年开始致力于基于DVD的视频版权保护研究,安全数字音乐创始(SDMI,Secure Digital Music Initiative)从1999年开始研究音频的版权版护,数字水印是其中的核心关键技术。数字水印(Digital Watermarking)是往多媒体数据,如图像、声音、视频信号等,中添加某些数字信息(水印)而不影响原数据的视听效果,此处我们只讨论人们普遍关心的不可见水印,并且这些数字信息可以部分或全部从混合数据中恢复出来,以达到版权保护等作用。一般地,数字水印应具有如下的特性:安全性,即嵌入在宿主数据中的水印是不可删除的,且能够提供
9、完全的版权证据。鲁棒性,即水印对有意或无意的图像操作与失真具有一定的抵抗力,以及不可觉察性,水印对人的感觉器官应是不可觉察的,或者说是透明的。保真性,即加入水印后,并不会损害原来的媒体内容价值3。水印算法识别被嵌入到保护对象中的所有者的有关信息,如注册的用户号码、产品标志或有意义的文字等,并能在需要的时候将其提取出来,用来判别对象是否受到保护,并能够监视被保护数据的传播、真伪鉴别以及非法拷贝控制等,这实际上是发展水印技术的基本动力。尽管版权保护是发展数字水印技术最重要的原动力,事实上人们还发现数字水印还具有其它的一些如真伪鉴别、秘密通信、标志隐含等重要应用。数字水印技术与古老的信息隐藏和数据加
10、密技术关系非常密切,这些技术的发展以及融合为今后信息技术的发展提供必不可少的安全手段。1.2 数字水印的关键技术及应用1、从技术上讲,目前的数字水印算法可以分成两类:空域水印算法和频域(变换域)水印算法。在检测水印时,也要首先对信号作相应的数学变换,然后通过相关运算检测水印45。(1)空域算法将水印信息直接叠加到图像的空间域上的算法叫空域算法。水印在空域算法中,考虑到人类视觉特性,在载体图像变化较平稳处不隐藏或少隐藏水印信号,而在图像较复杂处隐藏水印信号。它的优点在于对载体影响很小,计算速度较快,隐藏的信息较多,且适合多种媒体。缺点是鲁棒性较差,抗几何变形,噪声和有损压缩等常见信号处理能力较差
11、。但这一特点可用于嵌入脆弱水印。空域的典型算法为: 最低有效位算法(LSB) 水印算法和Patchwork 水印算法6。(2)变换域算法等借鉴扩频通信技术7,把水印扩展到很多频率段上,每个频率段上的水印信息都小到不可检测的程度。检测时,可以把这些水印信息集中起来,得到一个较高能量的输出;水印信息应嵌入到载体数据中对人的感觉最重要的部分(如频域的低频部分);水印信号应由具有高斯分布的随机实数序列组成。在变换域内实现扩频相对容易,而且容易利用人类视觉特性,实现自适应嵌入。与空域算法相比,变换域水印有如下优点:a、变换域水印算法通常有很好的鲁棒性;b、变换域上嵌入的水印能量可以分布到空域的所有像素上
12、,有利于水印的隐藏。因此,变换域算法为目前研究的重点,基于变换域的算法较多8。通常变换有全图DCT,分块DCT。其它变换域还有DWT、DFT、Fourier - mellin域、Fourier变换域、分形或WP (Wavelet Package)等9。一般来说,人眼对图像的低频区域较敏感,而对图像的高频区域不敏感,这也是图像压缩的基础。因此,为了获得较高的鲁棒性,应将水印信息嵌入到图像的中低频区域。在图像的变换域中嵌入水印信息可以有效的利用扩频通信的原理,选择图像低频和中频区域中的一个很有限的水印嵌入系数集嵌入水印信息。在此过程中,水印信息相当于由一个频率范围远远超过水印频带的宽带信号所限制,
13、这相当于采用了扩频通信的原理,因此水印信息具有很好的鲁棒性。2、数字水印算法的应用包含两个基本方面:水印的嵌入和水印的提取和检测。在设计、采用一个具体的水印算法时,可根据应用目的、图像的使用限制及其他约束条件等情况综合考虑。常用的有四种:(1)水印检测要利用未加水印的原图,只有少数人能检测出水印;(2)水印检测不利用未加水印的原图,任何人通过一定的方式都能检测出水印;(3)嵌入和检测水印的方案是公开的,这个方案需要一个密钥, 以防止盗版者删除水印;(4)嵌入和检测水印的方案不公开,这些方案是保密的,但能被解开。10另外,要提高数字水印的鲁棒性,就要了解针对数字水印的攻击。对数字水印的攻击主要有
14、一下几种:噪声攻击,滤波攻击,剪切攻击,压缩攻击,旋转攻击及抖动攻击1112。3、基于DCT变换的数字水印总体思想(1)DCT变换13a、一维离散余弦变换与反变换的表达式如下:(其中u=0,1,2N-1)(公式1)(其中x=0,1,2N-1)(公式2)其中a(u)由下式定义:(公式3)注:x为空域点的顺序,f(x)为图像的空域值,u为变换域点的顺序,C(u)为变换域的值,a(u)为系数,N为采样点数。b、二维DCT由下式定义:(其中u,v=0,1N-1)(公式4) (其中x,y=0,1N-1) (公式5)注:x、y为空域点坐标位置,f(x,y)为空域点的值,u、v为变换域坐标位置,C(u,v)
15、为变换域值,a(u)、a(v)为系数,N为采样点数。(2)水印的生成常用的数字水印一般具有两种形式:一种是用密钥生成的伪随机序列,具有良好的统计特性;另一种是可识别的有意义的图案或文字。但后者数据冗余太大,且易被攻击者预测,一般用二值图像,使用灰度图像则数据量太大,需预处理14。下面是一些水印信号生成的方法: a、伪随机序列的生成以个人信息作为种子,采用一般随机序列产生的方法,来生成伪随机序列。这样的随机序列有可能被伪造。而利用混沌电路以初值作为密钥,产生的确定的,类似随机的,非相关的,可再生的混沌序列,既非周期又不收敛,而且对初始值有极敏感的依赖性。混沌函数还具有伸长和折回的性质,故具有不可
16、预测性。例如用Logistic 方程等产生的序列。b、水印置乱水印信号在嵌入前采用某种变换, 改变每个像素的空间位置,即消除像素的空间相关性。置乱后的水印能更均匀地分布于载体中,可提高水印的鲁棒性,同时使水印的保密性更强。c、灰度水印压缩。(3)水印嵌入的讨论在实际应用中,图像经过二维DCT 变换之后,DC 直流分量及AC 交流分量的中频部分集中了图像的大部分能量15。人眼视觉系统对DCT 系数的低频部分也相对敏感。因此一般来说,不能使低频部分有大的改变;另一方面,高频系数在JPEG 压缩中将受到很大的影响。所以,一般将水印加入DCT 系数的中频部分16。另外,DCT变换处理起来速度较慢,在实
17、际应用中会受到一些限制,所以最好采用一种DCT的快速算法进行处理。为了提高鲁棒性,应对带嵌入的水印在嵌入之前进行相应的预处理,例如先将带嵌入的水印之乱,再将其嵌入,以提高其抗攻击性。又如,确保在一些有意或无意的攻击下,2 个位置DCT 系数大小关系不会改变,当2 个DCT 系数的差值较小时,做增大处理;同时,当引起图像降质问题的差值较大时,做减小处理17。在DCT域嵌入水印后,进行反变换,即可输出嵌入了水印的图像。1.3 本文的主要研究内容本文主要完成以下内容:第一章介绍数字水印的基本内容,基本原理,发展历程,现阶段的发展状况,以及未来的发展方向,介绍离散余弦变换的基本思想与方法。第二章提出实
18、现课题所要求任务的基本框图,明确各模块的基本功能及所要完成的任务。第三章提出基于DCT域数字水印嵌入的一般流程,编写程序实现水印的嵌入,并对隐性和显性水印的嵌入结果进行对比分析。第四章提出基于DCT域数字水印提取的一般流程,编写程序实现隐性和显性水印的提取,并对隐性和显性水印的提取结果进行对比分析。第五章对本课题所实现的数字水印进行鲁棒性测试,并对测试结果进行讨论。第六章给出毕业设计过程中所得到结论。2 数字水印的基本原理2.1 DCT域数字水印嵌入原理嵌入可见水印的原理框图如图1所示。首先对原图像进行预处理,将预处理的结果进行DCT变换,与此同时,将水印图像进行DCT变换,并将变换的结果进行
19、预处理。然后,将水印图像的变换域的值叠加到原图像的变换域的指定频段,可见水印与不可见水印的嵌入位置的选择不同。之后再进行DCT反变换,即可输出一幅嵌入可见水印后的图像。其中预处理部分不是必须的,对原图像进行预处理的目的是提高处理速度,对水印图像的预处理是提高水印的保密性。且预处理的位置也不是固定的,对水印图像的预处理如果放在DCT变换之后,则对变换域进行置乱,如果放在DCT变换之前,则是对水印图像的空域进行置乱。图1 可见水印嵌入的原理框图原图像预处理(进行缩放)水印图像预处理(置乱)DCT变换DCT域叠加嵌入DCT变换DCT反变换2.2 DCT域数字水印提取原理水印提取的原理框图如图2所示,
20、首先将嵌入水印后的图像进行离散余弦变换,与此同时将原图像也进行离散余弦变换,然后将两幅图像变换后输出的DCT域的结果进行相减,此时相减后得到的结果需要进行位置调整才能在经过后面的反变换后输出正常的水印图像。例如如果嵌入时选择的是中低频嵌入,即嵌入不可见水印,那么相当于是把水印图像DCT域的整体放在了原图像中低频以上的区域,这样,相减后水印图像的DCT域不是从零频开始的,而是从中低频开始向后延续的,所以需要经过位置调整将相减后的结果调整至从零频开始。图2 提取数字水印的原理框图嵌入水印的图像原图像DCT变换DCT域相减提取DCT变换DCT 反变换位置调整2.3 本章小结本章简述了基于DCT域数字
21、水印的基本原理,包括水印嵌入原理与水印提取原理。同时提出了基于DCT域数字水印的原理框图,包括嵌入原理框图和提取原理框图。3 数字水印的嵌入设计将原图像与带嵌入图像变为灰度图像完成一行叠加?对灰度图像进行DCT变换在原图像DCT域的指定位置按每行从左到右的顺序将水印的DCT域的值叠加上去换行完成所有行列叠加?结束是开始否否是图3 可见水印嵌入流程图3.1 DCT域数字水印嵌入流程图3是数字水印嵌入的流程图。程序开始后首先将原图像与水印图像进行灰度处理,这是因为彩色图像的空域所对应是三个二维数组,每一个二维数组对应于彩色图像一个基色,而经过灰度处理后的图像只有一个二维数组,这样就避免了对彩色图像
22、的三个基色分别进行讨论,后续只需对单一的灰度图像的一个二维数组进行处理。之后对两幅灰度图像进行离散余弦变换,将水印图像的DCT域的值按照先行后列的顺序叠加到原图像的DCT域,此时完成水印的嵌入。当然,在完成嵌入后还要进行离散余弦反变换,输出嵌入水印后的图像的空域值,继而输出一幅嵌入了水印后的图像。3.2 水印嵌入的结果3.2.1 不可见水印嵌入不可见水印的嵌入算法如图4与图5所示。根据人眼对不同频率光的敏感程度不同的特点,同时考虑到图像压缩后对高频分量的影响较大这个因素,选择人眼较不敏感的中低频段进行水印嵌入,而没有选择人眼同样不敏感的中高频段和高频段,这样既保证了水印的不可见性,同时还避免了
23、在图像压缩时对水印的损伤。另外,在中低频嵌入时,嵌入起点的选择也能使水印带有一定的保密性,因为只有嵌入者才知道水印是从哪一频率点开始嵌入的,所以也就只有潜入者才能知道该从哪一频率点开始提取水印。首先按照图4所示的方法进行预嵌入,将水印DCT域的值保存在一个全零的数组的中低频段,该全零数组的大小要与原图像的DCT域的大小相同。在保存时,当遇到既不是行尾也不是列尾元素时,按照先行后列的顺序进行保存。如果是全零数组行尾,则在执行换行动作后,指向全零数组下一行的行首继续保存。当执行到水印图像DCT域的最后一个元素时保存结束。在正式嵌入时如图5所示,只需将已经包含了水印DCT域信息的数组直接叠加到原图像
24、的DCT域即可。图6是经灰度处理后的原图像,图7是水印图像,图8是嵌入了不可见水印后的图像。图4 不可见水印的预嵌入+=c.包含水印DCT域信息的数组b.水印DCT域的值a.全零数组+图5 不可见水印的预嵌入b.包含水印DCT域信息的数组a.原图像DCT域的值c.水印嵌入后的图像=图6 进过灰度处理的原图像图7 水印图像图8 嵌入不可见水印后的图像3.2.2 可见水印嵌入不可见水印的嵌入算法如图9与图10所示。由于人眼对低频分量的光较为敏感,所以选择低频段进行水印嵌入。在嵌入时,首先按照图9所示的方法进行预嵌入,将水印DCT域的值保存在一个全零的数组的低频段,该全零数组的大小要与原图像的DCT
25、域的大小相同。在保存时,当遇到既不是行尾也不是列尾元素时,按照先行后列的顺序进行保存。如果是全零数组行尾,则在执行换行动作后,指向全零数组下一行的行首继续保存。当执行到水印图像DCT域的最后一个元素时保存结束。在正式嵌入时如图10所示,只需将已经包含了水印DCT域信息的数组直接叠加到原图像的DCT域即可。可见水印的嵌入结果如图11所示。图9不可见水印的预嵌入+=c包含水印DCT域信息的数组b水印DCT域的值a全零数组+图10 不可见水印的预嵌入b包含水印DCT域信息的数组a原图像DCT域的值c水印嵌入后的图像=图11 嵌入可见水印后的图像3.2.3 嵌入所得结果对比在完成上述不可见与可见水印的
26、嵌入后,对比图8和图11可以明显的看出不可见水印与可见水印的区别。在图8所示的嵌入不可见水印后的结果中,看不出水印图像,而在图11所示的嵌入可见水印后的结果中可以明显的看到水印图像。另外,对比图6与图8可以看到,嵌入不可见水印后的图像与原图像无明显区别,这是由于经过离散余弦变换后,原图像的能量集中到了几个低频分量系数上,中低频以上的频段所包含的图像能量较少,而在嵌入不可见水印时,正是在原图像的中低频分量叠加水印图像的DCT域值,所以对含有原图像较多信息的低频区域的影响不大。3.3 本章小结本章首先叙述了基于DCT域数字水印嵌入的一般原理,其中对不可见和可见水印的嵌入原理分别进行了说明。然后给出
27、了基于DCT域水印嵌入的一般流程。最后,在前面的基础上,完成了不可见与可见水印的嵌入,并对结果进行了分析说明。4 数字水印的提取设计用嵌入水印图像的DCT域的值减去原图像的DCT域的值开始读取嵌入水印后的图像与原图像将相减后的结果调整到从零频开始对调整后的结果进行DCT反变换对灰度图像进行DCT将彩色图像转换为灰度图像结束图12 提取水印流程图4.1 DCT域数字水印提取流程提取数字水印的流程图如图12所示。程序开始执行后,首先读取嵌入水印后的图像与原图像。读取成功之后对两者进行灰度变换,使两幅图像成为简单的灰度图像,然后对灰度图像进行离散余弦变换,得到两幅灰度图像所对应的变换域的值。将嵌入水
28、印后的图像的DCT域的值减去原图像的DCT域的值,相减后得到的是水印图像所对应的DCT域的值,但此时得出的水印图像的DCT域的值可能并不是从零频开始向后延续的,所以需要进行相应的位置调整,才能输出正常的水印图像。将调整后的结果进行DCT反变换,得到空域上的水印图像。其中位置调整这一步不是必需的,如果水印不是从零频开始嵌入的,那么在提取时需要进行相应的位置调整。假如水印就是从零频开始嵌入的,那么相减提取后的结果也是从零频开始的,这样就不再需要进行位置调整。4.2 水印提取的结果4.2.1 不可见水印提取-图13 不可见水印的提取b原图像的DCT域的值a嵌入水印后DCT域的值c从中低频开始的水印图
29、像DCT域的值=a位置调整前b位置调整后图14不可见水印提取后的位置调整位置调整图15 不可见水印的提取结果本文的提取过程示意图如图13和图14所示。在嵌入水印后的图像的DCT域上减去原图像的DCT域的值,得到的是从中低频段开始并向后延续的水印图像的DCT域的值,此时的结果是错位的水印频域信息,需要进行相应的位置调整。如前所述,只有嵌入者才知道水印具体是从哪一频点开始嵌入的,所以也就只有嵌入者才能知道该从哪一频点开始提取。对错位的水印的频域进行位置调整后,使其DCT域的值从零频开始向后延续,这样就得到了正常位置的水印的DCT域的值,经过离散余弦反变换后即可输出水印图像,如图15所示。当然,水印
30、提取出来之后,可以根据具体情况,对水印进行滤波、增强、锐化等步骤,使水印图像更加清晰。4.2.2 可见水印提取-图16不可见水印的预嵌入b原图像的DCT域的值a嵌入可见水印后DCT域的值=c水印图像的DCT域的值图17 可见水印的提取结果可见水印的提取算法示意图如图16所示,在嵌入可见水印后的图像的DCT域上减去原图像的DCT域的值,等到的是水印图像的DCT域的值。为了说明方便,图16的水印图像是从零频开始的,如果相减后的结果是从低频开始的,那么如前所述要进行相应的位置调整。图17是提取出的水印图像。4.2.3 提取所得结果对比不可见水与印可见水印的提取结果如图15和图17所示。图15是不可见
31、水印的提取结果,在提取过程中,为了使水印图像显示清晰,提取时使用了中值滤波,并对图像进行了锐化。在图15所提取得到的水印图像中,图像有一些模糊,这是由于经过离散余弦变换后,原图像能量的大部分都集中到了低频分量的几个系数上,中低频及以上的分量包含的能量较少,这时在往中低频叠加水印信息,对原图像的影响较大。另外,在后续存储嵌入水印后的图像时有一步四舍五入的过程,这样当频域相减提取水印时,由于原图像中低频段本身所包含的能量就较少,加上四舍五入造成的误差,导致相减后的频域值与水印图像的频域值出现偏差。而在图17看到的一幅提取出的清晰水印,这是因为可见水印嵌入到了能量较为集中的低频段,再往上叠加水印信息
32、对原图像的频域影响不大,即使在存储时进行四舍五入,也不会造成相对于原图像的误差,所以嵌入可见水印后的图像频域与原图像频域相减后,可以提取出清晰的水印图像。图17中水印图像底色的变化是由于MATLAB软件中imshow函数的显示范围所致,但这并不影响结果。4.3 本章小结本章首先叙述了基于DCT域数字水印提取的一般原理,其中对不可见水印和可见水印的提取原理分别进行了说明。然后给出了基于DCT域水印提取的一般流程。最后,在前面的基础上,完成了不可见与可见水印的提取,同时对结果进行了对比和分析,并对影响提取结果的因素进行了分析。5 鲁棒性分析数字水印的鲁棒性是指在经历多种无意或有意的信号处理过程后,
33、数字水印仍能保持部分完整性并能被准确鉴别。可能的信号处理过程包括信道噪声及有损压缩编码等18。5.1 抗噪声测试噪声是信号处理中不可避免的负面因素,图像处理作为数字信号处理的一种,也必须考虑噪声所带来的负面影响。大量的实验研究发现,数字图像受离散的脉冲、椒盐噪声和零均值的高斯噪声的影响较严重。本文中的抗噪声测试主要从椒盐噪声,高斯噪声这两种图像处理中最常见的噪声来研究19。图18是抗噪声测试的系统框图。经过嵌入程序处理后,水印被嵌入到原图像中,然后对嵌入了水印的图像加入噪声,之后再从加入了噪声的图像中提取水印。嵌入水印后的图像加入噪声提取水印图18 噪声测试的系统框图 5.1.1 椒盐噪声测试
34、椒盐噪声主要是由于自然界中存在的干扰源引起的,在进行椒盐噪声测试时,运用了MATLAB图像工具箱中的imnoise函数,函数格式为imnoise(I,salt & pepper,d),其中d是参数,d的选择如表格1所示。轻度噪声的参数一律选为0.02,模拟受到一般噪声影响的情况;重度噪声测试时的参数d取为0.25,模拟受到严重噪声影响时的情况。轻度噪声重度噪声可见水印0.020.25不可见水印0.020.25表格 1椒盐噪声测试参数选择图24 从图23中提取出的结果图26 从图25中提取出的结果图25 对嵌入可见水印后的图像加入重椒盐噪声图23 对嵌入可见水印后的图像加入轻度椒盐噪声图22 从
35、图21中提取出的结果图21 对嵌入不可见水印后的图像加入重度椒盐噪声图20 从图19中提取出的结果图19 对嵌入不可见水印后的图像加入轻度椒盐噪声抗噪声性能测试如图19至图26所示。图19和图23是分别对嵌入不可见水印和嵌入可见水印的图像加入轻度噪声攻击后的结果,其中的椒盐噪声强度为0.02,模拟的是一般的噪声强度。图20和图24是从轻度噪声攻击的图像中提取出来的结果。图21和图25是加入重度噪声攻击后的嵌入水印图像,椒盐噪声强度为0.25,模拟受到严重噪声影响时的情况。图22和图26是从重度噪声攻击后的图像中提取出来的水印。考虑到噪声对可见水印与不可见水印的影响机理相同,下面只以不可见水印为
36、例进行说明。通过对比图19和图21可以看到,噪声强度的增强使图像变得模糊,图21所示的图像已经明显变得模糊不清。另外对比图20和图22,可以得出随着噪声强度的增加,提取出来的水印也变得越来越模糊,图22中的有些文字已经变得模糊,但仍可以分辨出来。所以可以得出,水印即使在严重椒盐噪声的环境下,仍然可以分辨出来。5.1.2 高斯噪声测试高斯噪声是最常遇到的一种噪声,本文所采用的是较为常见的均值为零的高斯白噪声。测试时使用了MATLAB图像处理工具箱中的imnoise函数,函数格式为imnoise(I,gaussian,m,v),其中的m、v是参数,m是噪声均值,v是噪声强度。由于选择的是均值为零的
37、高斯白噪声,所以m取值为0,v的选择如表格2所示。轻度噪声测试时,参数v选择0.01,模拟轻度的高斯噪声干扰;重度噪声测试时,参数v取0.1,模拟受到严重的高斯噪声干扰。表格 2高斯噪声测试参数选择轻度噪声重度噪声可见水印0.010.1不可见水印0.010.1图29在嵌入不可见水印后的图像中加入重度高斯噪声图34 从图33中提取出的结果图33在嵌入可见水印后的图像中加入重度高斯噪声图32 从图31中提取出的结果图31在嵌入可见水印后的图像中加入轻度高斯噪声图30 从图29中提取出的结果图28 从图27中提取出的结果图27在嵌入不可见水印后的图像中加入轻度高斯噪声抗高斯噪声性能测试如图27至图3
38、4所示。本文所采用的是较为常见的均值为零的高斯白噪声。图27和图31是在嵌入水印后的图像中加入轻度高斯噪声,噪声强度为0.01,模拟轻度的高斯噪声干扰。图28和图32是从加入轻度高斯噪声的图像中提取出的水印。图29和图33是在嵌入水印后的图像中加入重度高斯噪声,噪声强度为0.1,模拟受到严重的高斯噪声干扰。图30和图34是从加入重度高斯噪声的图像中提取出的结果。如前所述,由于噪声对可见水印与可见水印的影响机理相同,所以还以不可见水印为例。对比图27和图29可以看出,随着高斯噪声强度的增加,图像变得越来越模糊。对比图28和图30可以看出,噪声强度越大,提取出的水印也越来越模糊,但在严重高斯噪声的
39、情况下,水印仍然可以分辨。5.2 抗压缩测试在实际应用中,为了节省数字图像的存储空间,不可避免的要对数字图像进行压缩,所以有必要考虑图像在嵌入水印后的抗压缩性能,使数字水印具有实际的应用价值20。图35是抗压缩测试的原理框图。嵌入水印后的图像图像压缩提取水印图35 抗压缩测试的原理框图图36和图39是从压缩比为50%的图像中提取出来的水印,图37和图40是从压缩比为25%的图像中提取的水印,图38和图41是从压缩比为15%的图像中提取的水印。横向对比可见水印的三幅图可以看出,压缩比越小提取出的水印越模糊。这是由于,图像压缩时首先被压缩的是包含图像能量较小的高频分量,这样可以尽可能的保留原图像的
40、大部分信息,而不可见水印是嵌入在图像DCT域的中低频段上的,所以在压缩图像的过程中,当压缩比较大时,图像的中低频段的信息不会严重丢失,不可见水印也就不会严重受损;随着压缩比的减小,图像将被严重压缩,中低频段的部分信息将被丢掉,从而不可见水印的部分信息也将随之丢失,所以随着压缩比的减小,提取出的不可见水印变得模糊。作为对比,列出了三幅可见水印在相同压缩比下的提取结果。可以看到,由于可见水印是从零频开始嵌入的,而图像压缩过程中对低频段压缩较小,所以图像压缩对可见水印的影响不大。图37 从压缩30%的嵌入不可见水印的图像中提取的结果图38 从压缩15%的嵌入不可见水印的图像中提取的结果图36 从压缩
41、50%的嵌入不可见水印的图像中提取的结果图39 从压缩50%的嵌入可见水印的图像中提取的结果图40 从压缩30%的嵌入可见水印的图像中提取的结果图41 从压缩15%的嵌入可见水印的图像中提取的结果5.3 本章小结本章对基于DCT域的数字水印的鲁棒性进行了测试,包括抗噪声测试和抗压缩测试。其中,抗噪声测试时分为轻度噪声测试和重度噪声测试,抗压缩测试时采用了不同的压缩比进行压缩测试。测试时,分别对嵌入了可见和不可见水印的图像加入噪声或者进行压缩。然后再从加入了噪声或者进行了压缩的图像中提取出水印。最后对提取出的结果进行了对比分析。结论本文分析了基于DCT域数字水印的一般原理,提出了水印嵌入与提取的
42、一般流程,探讨了可见水印和不可见水印的嵌入与提取方法,成功实现了基于DCT域数字水印的嵌入和提取,并对水印的鲁棒性进行了测试与分析。本文的主要结论如下:1.在嵌入时,可见水印与不可见水印的区别在于水印嵌入的位置不同,可见水印是嵌入在图像的低频段,不可见水印是嵌入到图像的中低频段,因此,提取不可见水印一定需要进行位置调整,可见水印如果是从零频开始嵌入则不需要进行位置调整,如果不是则同样需要进行位置调整。2.由于图像的能量主要集中在DCT域的低频段,所以将水印嵌入到图像的低频段对其的影响较小,提取出的结果也比较好。3.在进行抗噪声测试和抗压缩测试时,可见水印的抗噪声性能优于不可见水印。究其原因主要是因为图像能量的大部分集中在了低