版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于小波变换的数字水印与基于小波变换的数字水印与 matlab 的实现的实现 摘要摘要:通过对数字水印的原理和算法的分析,了解信息隐藏的实现手段与效果。 在信息加载和提取过程中,突破传统的加密技术,用更具专业性的检测手段来保 护专属的信息产权。本文利用了水印良好的鲁棒性和不可感知性,致力于对图像 的处理,通过实验与测试证实了数字水印可以达到理想的效果,并且运用恰当的 算法可以更加简化操作的复杂性。在此之外,数字水印还可以应用于声音,视频 等领域。其技术手段的实现的更加完善化会带来其更加广阔的应用前景。 关键字关键字:数字水印;信息隐藏;MATLAB;水印检测与提取;JPEG 压缩; 1 数字水
2、印技术简介数字水印技术简介 1.1 数字水印的发展背景数字水印的发展背景 随着数字技术和 Internet 网络的发展,各种形式的多媒体数字作品(图像、视 频、音频等)纷纷以网络形式发表,然而数字作品的便利性和不安全性是并存的, 它可以低成本、高速度地被复制和传播,而这些特性也容易被盗版者所利用。因 而,采用多种手段对数字作品进行保护、对侵权者进行惩罚己经成为十分迫切的 工作。数字水印技术的研究就是在这种应用要求下迅速发展起来的。 数字水印(digital watermarking)技术也称为数字指纹技术,它将具有特定意义 的水印标记不可感知地嵌入到被保护的数字产品中,在产生版权纠纷时,通过相
3、 应的算法提取该水印,用以证明作者对该数字产品的所有权,并可作为鉴证、起 诉非法侵权的证据。数字水印技术基本上应当满足隐蔽性、安全性、鲁棒性和水 印容量等几个方面的要求。 研究数字水印技术的最初目的是用于保护数字产品的版权,但随着研究的进一步深入, 它在信息安全保护领域的应用越来越广泛,并在广播检测、图像认证、盗版跟踪、数字签名、 交易水印、拷贝控制、标题与注释等各个领域产生了许多新的用途。数字水印从正式提出到 现在虽然时间不长,但它与传统的密码学相比有明显的优越性,为解决版权保护和内容完整 性认证、来源认证、篡改认证、网上发行、用户跟踪等一系列问题提供了一个崭新的研究方 向,因此它在数字产品
4、的知识产权保护、商务交易中的票据防伪、声像数据的隐藏标识和篡 改提示、隐蔽通信及其对抗等方面具有十分广阔的应用前景。 1.2 数字水印的特点数字水印的特点 (1)鲁棒性:所谓鲁棒性是指在经历多种无意或有意的信号处理过程后, 数字水印仍能保持完整性或仍能被准确鉴别。可能的信号处理过程包括信道噪声、 滤波、数模与模数转换、重采样、剪切、位移、尺度变化以及有损压缩编码 等 (2)隐蔽性:在数字作品中嵌入数字水印不会引起明显的降质,且不易被察 觉。 (3)隐藏位置的安全性:水印信息隐藏于数据而非文件头中,文件格式的变 换不应导致水印数据的丢失。 在数字水印技术中,水印的数据量和鲁棒性构成了一对基本矛盾
5、。从主观上讲,理想的 水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形。然而在实际中,这两 个指标往往不能同时实现,不过这并不会影响数字水印技术的应用,因为实际应用一般只偏 重其中的一个方面。如果是为了隐蔽通信,数据量显然是最重要的,由于通信方式极为隐蔽, 遭遇敌方篡改攻击的可能性很小,因而对鲁棒性要求不高。但对保证数据安全来说,情况恰 恰相反,此时,隐藏数据量的要求居于次要地位,各种保密的数据随时面临着被盗取和被纂 改的危险,所以鲁棒性是十分重要的。 1.3 数字水印技术的基本原理数字水印技术的基本原理 数字水印的基本原理是将作为标识数据的水印信息嵌入到被保护的宿主数据 中,使得
6、水印在宿主数据中不可感知并且足够安全。通常的水印算法包括三个基 本方面:水印的生成、嵌入和提取,并会涉及到水印的选择、水印的验证、基于 视觉特性的水印等几项关键技术。 (1)水印的生成 水印信号分为无意义水印信号和有意义水印信号两种。无意义水印信号的产 生通常基于伪随机数发生器或混沌系统,产生的水印信号往往需要进一步的变换 以适应水印嵌入算法的需要。有意义水印信号包括二值图像、灰度图像和彩色图 像等。有意义的图像可以直接作为水印嵌入到载体数据中,但是为了增强水印的 安全性,一般需要先对水印进行加密预处理,处理的方法包括使用实随机序列进 行扩频、对水印信号进行位分解、利用图像的置乱对水印进行预处
7、理等。 数字水印生成过程的一般流程如图 1 所示。 载体图像 原始水印信息 密钥 水印生成算法生成水印信息 图 1 数字水印生成过程一般流程图 (2)水印的嵌入 水印的嵌入从数字通信的角度看,可以理解为在一个宽带的信道上用扩频通 信技术一个窄带信号,会涉及到嵌入的方法、嵌入的位置、嵌入的信息量等问题。 数字水印嵌入过程的一般流程图如图 2 所示。 信息分析 (选择嵌入点) 原始图像 水印信息 水印嵌入算法 含水印图像 图 2 数字水印嵌入过程流程图 (3)水印的提取与检测 水印的提取与检测是一个在有噪信道中弱信号的检测问题,最终目的在于判 断水印信号是否存在或把水印提取出来。在对提取的水印和原
8、始的水印进行判断 和检测的过程中,可以通过输出一个 01 决策来判断水印有无。水印提取与检 测过程的一般流程图如图 3 所示。 水印化信息 密钥 原始信息 原始水印信息 水印检测算法 水印提取算法 提取出水印 判断水印是否存在 图 3 数字水印提取检测过程一般流程图 14 数字水印技术的划分数字水印技术的划分 (1)按特性划分 数字水印的特性可以将数字水印分为鲁棒数字水印和脆弱数字水印两类。 (2)按水印所附载的媒体划分 按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视 频水印、文本水印以及用于三维网格模型的网格水印等。 。 (3)按检测过程划分 按水印的检测过程可以将数字水
9、印划分为明文水印和盲水印。 (4)按内容划分 按数字水印的内容可以将水印划分为有意义水印和无意义水印。 (5)按用途划分 不同的应用需求造就了不同的水印技术。按水印的用途,我们可以将数字水 印划分为票据防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印。 (6)按水印隐藏的位置划分 按数字水印的隐藏位置,我们可以将其划分为时(空)域数字水印、频域数字水 印、时频域数字水印和时间尺度域数字水印。 1.5 数字水印算法数字水印算法的的分类分类 数字水印算法可以分为空间域数字水印算法和变换域数字水印算法两大类。 空间域数字水印算法就是通过改变某些像素的灰度将要隐藏的信息嵌入到其中, 把数字水印直接加
10、载到数据上。这种方法具有算法简单、容易实现、信息隐藏量 大和计算速度快等优点,并且许多算法在提取水印和验证水印存在时都不需要原 始图像,但通常因为抵抗图像的几何形变、噪声和图像压缩的能力较差而具有较 差的鲁棒性。空间域数字水印的经典算法包括: (1)LSB 算法(最低有效位法), (2)Patchwork 方法; (3)纹理映射编码方法; (4)文档结构微调方法等。 变换域数字水印算法是当前数字水印技术领域研究的热点。它是基于图像的 变换利用一个信号可以掩盖另一个较弱的信号这种频率掩盖现象在频域变换中嵌 入水印,这些常见变换包括: (1)离散余弦变换(DCT); (2)小波变换(WT); (3
11、)傅氏变换(Fr 或 FFr); (4)哈达马变换等。 1.6 影响水印性能的因素影响水印性能的因素 (1) 嵌入信息的数量:嵌入的信息量越多,水印的鲁棒性就越低 (2) 水印嵌入强度:在水印嵌入强度和水印可感知性之间有一个均衡。高鲁棒 性 需要更强的嵌入,这反过来增大了水印的可感知性。 (3)数据的大小和种类:通常数据的尺寸大小对嵌入水印的鲁棒性有直接的影响。 (4)秘密信息(如密钥):尽管秘密信息的数量对水印的可感知性,鲁棒性没有直 接的影响,但在系统安全性方面充当了重要的角色。密钥空间要足够大,从而使 穷举搜索攻击不可行。考虑这些上述因素,评价水印方法必须在各种不同的测试 图像之中进行测
12、试。此外,为了得到在统计上有效的结果,必须使用不同的密钥 和改变水印的强度来对水印系统进行评价。 1.7 数字水印技术的攻击问题数字水印技术的攻击问题 (1) 简单攻击 通常是指普通的图像处理,例如对图像线性和非线性的滤波、有损压缩、图 像增强、量化、加噪等。简单攻击不能识别或分离水印,只可以使水印削弱或删 除。 (2) 同步攻击 这种攻击通常指几何攻击,如旋转、剪切、平移、二次抽样、缩放等操作。 这种几何攻击实际上并没有去除图像中的水印,但它改变了提取水印所必须的位 置信息,使得水印虽然存在,但不能被提取或检测。 (3)伪造攻击 这种攻击指试图去伪造原始数据或伪造水印后的数据。 (4)去除水
13、印攻击 这种攻击是指通过分析水印后的数据,估计出原始数据或水印数据,从而将 水印从水印后的数据中分离出来。通常采用的方法有:共谋攻击、去噪、特殊的非 线性滤波等。 2 小波变换概述小波变换概述 21小波变换小波变换 “小波”就是小区域、长度有限、均值为 0 的波形。所谓“小”是指它具有衰减 性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与 Fourier 变 换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号 (函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自 动适应时频信号分析的要求,从而可聚焦到信号的任意细节 小波变换分成两大类:
14、离散小波变换 (DWT) 和连续小波变换 (CWT)。两者 的主要区别在于,连续变换在所有可能的缩放和平移上操作,而离散变换采用所 有缩放和平移值的特定子集。 从图像处理的角度看,小波变换存在以下几个优点: (1)小波分解可以覆盖整个频域(提供了一个数学上完备的描述) (2)小波变换通过选取合适的滤波器,可以极大的减小或去除所提取得不同特 征之间的相关性 (3)小波变换具有“变焦”特性,在低频段可用高频率分辨率和低时间分辨率(宽 分析窗口),在高频段,可用低频率分辨率和高时间分辨率(窄分析窗口) (4)小波变换实现上有快速算法(Mallat 小波分解算法) 22 二维小波变换算法讨论二维小波变
15、换算法讨论 当二维空间是可分离的情况下,很容易把一维多分辨率分析推广到二维。说 得具体点就是,二维小波分解算法是:一幅数字化的图像经常可以用一个 2 维矩 阵 A 表示(经过某种变换) ,然后行进行一维小波分解,得到新的矩阵 B,B 由 A 的水平方向低频,水平方向高频部分组成,再对列进行一位小波分解,得到新的 矩阵 C,C 由 B 的垂直方向低频,垂直方向高频部分组成,即 C 由四部分组成: LL(原图像的水平分量低频,垂直方向低频部分) ,HL(原图像的水平分量高频, 垂直方向低频部分) ,LH(原图像的水平分量低频,垂直方向高频部分) ,HH(原 图像的水平分量高频,垂直方向高频部分)
16、。为了形象地描绘二维小波分解后的 分量,可以见下图: 图 3-1 图像二维小波分解后的分量 其中,LL 代表近似部分,HL 代表水平细节,LH 代表垂直细节,HH 代表对角细节。 对于二维小波重构,可以按照分解的逆过程来实现:利用一维小波重构算法先 对列重构,再对行重构,就能得到原图像。 23 常见的小波变换水印算法常见的小波变换水印算法 (1) Barni 算法 LL2HL2 LH2HH2 HL1 LH1HH1 此算法是由 Mauro Barni, Franco Bartolini, Vito Capellini,Alessandro Lippi 和 Alessandro Piva 提出的,
17、算法使用了一般的线性叠加方法。水印长度由原图像的 大小决定,如果原图像的大小为 MN,则 Nw=3*M/2*N/ 2,这里 Nw 表示水印 的长度。选用 Daubechies-6 作为小波基,对原图像进行 4 级小波分解。只有第一 分解级的细节信号嵌入水印,而分析信号只用于计算视觉遮蔽效果值。 (2) Kundur 算法 此算法是由 Kundur Deepa 和 Hatzinakos Dimitrios 提出的,水印嵌入使用了图像融合技术。水 印大小与待嵌图像的大小相差 2M 比例因子,其大小为 2*Nw2*Mw,嵌入前将水印进行一 级小波分解。原图像进行 L 级小波分解,L 的大小被限制小于
18、或等于 M,水印图案进行一级 小波分解。将各级子带分为互不重叠的大小为 NwMw 的子块,根据事先设定的百分比随机 选择某些子块,被选中子块内对应的小波系数嵌入水印。 24 基于小波变换的数字水印算法的优势基于小波变换的数字水印算法的优势 随着新一代图像压缩标准 JPEG2000 的提出,小波变换越来越受到重视。作 为一种全新的时间一尺度分析方法,它在数字图像处理领域取得了很好的应用效 果,在数字水印研究领域出现了许多优秀的小波变换算法。 小波变换相对于 DFT 和 DCT 有诸如良好的时间频率局部性、多尺度变换、较小的计算复杂度 等独特的优点。基于小波变换的数字水印具有突出的抗滤波和压缩攻击
19、的能力,同时保留了 空域特性,而且一幅图像小波分解后所得到的子带和人类的视觉系统(HVS)模型相符合,提高 了算法的鲁棒性。 3 在在 MATABL 中中 实现图像的水印算法实现图像的水印算法 31 MATABL 的应用的应用 MATLAB 是由美国 mathworks 公司发布的主要面对科学计算、可视化以及交 互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以 及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境 中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一 种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如 C
20、、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、 连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通 讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB 初始界面 32 MATLAB 的特点的特点 总的来说,该软件有三大特点: (1)功能强大。 具有数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、 离线和在线计算等功能; (2)界面友善、语言自然。 MATLAB 以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近; 在 MATLAB 中,基本的计
21、算单元是矩阵,复数或实数则可以理解为 11 的矩阵。 MATLAB 的很多运算都是直接针对矩阵的,所以表示起来也就特别方便 (3.)开放性强。 该公司本身就推出了 30 多个应用工具箱,而世界上超过 200 家公司开发出与 MATLAB 兼容的第三方产品,这些产品向用户提供更多的工具箱、模块集、与其 他商业产品的接口等。 MATLAB 的这些特点使它获得了对应用学科(特别是边缘学科和交*学科)的 极强适应力,并很快成为应用学科计算机辅助分析、设计、教学,乃至科技文字 处理不可缺少的基础软件。 33 用用 Matlab 研究数字水印的优点研究数字水印的优点 1、丰富的小波函数和处理函数 MATL
22、AB 集成了 DCT、DWT 等函数有丰富的小波函数和处理函数, 其中有小 波工具箱,里面有许多现成的小波函数,如, 单尺度小波分解 函数 dwt2; 多尺度二维小波分解函数 wavedec2; 单尺度小波重构函数 idwt2; 多尺度二维小波重构函数 waverec2; 提取二维小波分解高频系数函数 deccoef2; 提取二维小波分解低频系数函数 appcoef2; 二维小波消噪函数 wdencmp 等等。 这不仅方便究人员,而且使源程序简洁明了、易实现。 2、强大的数学运算功能。 图像数字水印技术是针对图像进行研究的,MATLAB 强大的数值运算功能是 其优于其他数学应用软件的重要原因,
23、其中矩阵运算更是 MATLAB 语言的核心, 且表达自然,直接,能够方便、高效地实现大量矩阵运算。 3、提供了图像处理工具箱、小波分析工具箱、数字信号处理工具箱。 例如可以调用 wfilters 来获得指定小波的分解和综合滤波器系数; 同时可很好的应用于数字图像处理技术、数字信号处理等多学科。 4、MATLAB 与 VisualC+具有良好的接口。 有 matcom 和 com(comppoent object model)等多种接口方法的实现,可以混合编程,在 VC 中调用 MATLAB 的函数,将 MATLAB 生成的的文件翻译成语言,方便更多用户 理解和使用。 基于小波变换域的数字水印基
24、于小波变换域的数字水印的实现的实现 4.1 基于小波变换域的数字水印的简述基于小波变换域的数字水印的简述 小波分析的基本思想是:从一个具有正则性,局部性和振荡性的基本小波函数中 心出发,经伸缩和平移得到一函数族: (4.1) Rb| 2 1 aabxa 由此得到的函数族离散化后可构成L2(R)空间的规范正交基并以之去表示或逼近 信号,理论研究表明,从逼近观点上讲,只用很少小波系数就可以得到许多不同 图像的精确逼近。因此,小波作为变换基底是很好的选择。 (1)连续小波变换(CWT) 具有有限能量的函数 f(t)(即,(f)L2(R)的小波变换定义为以函数族 ( 4.2) a bt a ba 1
25、, 为积分核的积分变换。 (R 2 f 1 )()(baWfbWLfdt a bt a tfdtttfbaWa ba ) (4.3) 其中,a是尺度参数,b是定位参数,(f)称为小波。上式可描述为一带通滤 波器输出。 (2)离散小波变换(DWT) 式 4.1 可通过对其伸缩标度因子 a 和平衡因子 b 取样而离散化。令 其中, 2 0 1aZn,m,R 0 b , 则由式可得 (4.4) 0 m 0 m2 0n ,m nbtaat 4.2基于离散小波变换和人类视觉系统(基于离散小波变换和人类视觉系统(HVS)的水印的实例)的水印的实例 4.2.1离散小波变换 小波变换一般采用二维离散小波变换,
26、即对二维图像信号在水平和垂直方向 做一维离散小波变换的结果。从信号处理角度来看,先在水平方向对图像分别进 行低通和高通滤波,并作下采样,再在竖起方向做同样的操作。 离散小波变换定义为 m,nZ (4.5)4.2.2dtttfDW n ,mn ,m 2 算法描述 这里所讨论的水印嵌入策略对信号处理操作(如有所压缩、滤波)和通用的 几何变换(如裁剪、放缩、平移和旋转等)是鲁棒的,同时其算法需要提供原始 图像和原始水印。水印本身按照高斯分布(N(0,1)生成的随机数序列,由一 系列实数组成 X =(X1:X2,Xn),水印的长度为 n. 定义 NN 大小的原始图像(宿主图像)为 C,对原始图像进行变
27、化域编码 (二维离散小波变换 DWT) ,加入水印后利用二维离散小波逆变换(IDWT)生成 加入水印的图像。 4.2.3 水印嵌入算法 水印嵌入的具体过程如下: 第一步:将原始图像和水印信息以 Double 类型的形式读入。 第二步:将原始彩色图像分解为 3 个基色分量 Cr ,Cg ,Cb ,分别对该三个基色分 量用 Haar 小波基进行二级小波分解。 第三步:将数字水印同样分解为 Cwr ,Cwg ,Cwb 三个基色分量 ,分别对其进行一 级小波分解。 第四步:将数字水印的三基色分解系数分别对应嵌入到原始彩色图像的三基色分 解系数中 ,嵌入公式为 CR(G,B)A2(i,j) = CR(G
28、,B)A2(i,j)+r(g,b)*WR(G,B)A1(i,j) m 00 m 0 anbb aa CR(G,B)H1(i,j) = CR(G,B)H1(i,j)+r(g,b)*WR(G,B)H1(i,j) CR(G,B)V1(i,j) = CR(G,B)V1(i,j)+r(g,b)*WR(G,B)V1(i,j) CR(G,B)D1(i,j) = CR(G,B)D1(i,j)+r(g,b)*WR(G,B)D1(i,j) 其中 , CRA2 ( i , j) 表示嵌入水印前原始图像的红色分量经小波两层分解 后对应区域坐标( i , j) 处的小波系数 ,WRA1 ( i , j) 表示水印信息的
29、红色分 量经一级小波分解后的低频区域中坐标( i , j) 处的小波系数 , r 表示红色分 量加权系数, CRA2 ( i , j)表示嵌入水印信息后的红色分量的小波系数,其余类 推。 且 R , G ,B 三种基色分量加权系数满足 r g b =2 1 4 的关系。 第五步:重构并显示嵌入水印后的图像。 4.2.4 水印提取算法 本算法的水印提取过程是水印嵌入的逆过程,需要用到原始彩色图像和加入 了彩色数字水印的图像。水印提取算法将原始图像和数字水印图像分别作两层小 波分解,水印的低频系数从原始图像和数字水印图像的第二层分解的低频系数中 得到,高频系数从原始图像和数字水印图像的第一层分解的
30、高频系数中得到。实 现过程中按嵌入时相同的过程将原始图像的小波系数相应地从水印图像的小波系 数中减去。最后,将得到的数字水印的小波系数做小波反变换,即获得提取出的 水印图像。 4.3 人眼的视觉特性(人眼的视觉特性(HVS)及其在水印技术)及其在水印技术中的应用中的应用 人是图像欣赏的主体,图像质量的好坏都是由人来进行评判的,因此,几乎 所有的数字图像处理技术都紧紧围绕着人类的视觉系统(HVS)来进行的,如JPEG 图像压缩技术就是根据人类视觉系统的特性来确定量化步长的。 近十年来,人们对图像处理技术有了更深刻的认识,尤其是把它与人类视觉 系统的某些特性相结合,使图像处理技术取得了突飞猛进的发
31、展,以人类视觉特 性为核心的JPEG压缩技术就是一个很好的例子,它不但使图像压缩比得到了大大 的提高,而且使压缩后的图像具有很好的视觉效果,现在已经有人将人类视觉特 性应用到数字水印技术中来,使数字水印技术的研究取得了可喜的成就。 水印的嵌入过程可看成是在强背景(原始图像)上叠加一个弱信号(水印),只 要信号的强度低于HVS 的最小可察觉误差JND (Just NoticeableDifference), H VS 就感觉不到水印信号的存在,这就为水印的嵌入和检测工作提供了一个很好 的启示。HVS 特性和水印技术的很好结合使得水印对常见的各种攻击具有更好的 鲁棒性。Christine 和Pod
32、ilchuk 等在DCT 域和小波变换域内进行水印的嵌入和 提取时,利用JND 模型控制了嵌入水印信号的最大强度,最大可能地避免了对图 像视觉质量的破坏,这一方法显示出了很好的透明性和鲁棒性。 4.3 水印实验结果水印实验结果: 在实验中,我先是做了水印的嵌入,水印的提取,最后对水印图像做了三次 破坏,以检验破坏后的水印提取结果。 首先,先任意找到两幅图片。一幅作为原始图像,另一幅作为水印。水印嵌 入算法的功能就是利用离散小波变换算法(DWT)把水印图像嵌入原始图像中去, 得到水印图像。注意:水印的大小是原始图像的四分之一,既长宽分别是原始图 像的二分之一。 (1) 水印的嵌入 现在,通过水印
33、嵌入程序(存于 MATBLE 中的 WORK 文件夹) ,把水印嵌入到原 始图像中去,得到水印图像。可见,水印嵌入到原始图像中后,所得到的水印图 像和原始图像几乎是一样的,水印是看不出来的。由此可见,数字水印有良好的 不可见性。 程序运行结果为 (图 4-1、图 4-2) 图 4-1 原始图像和水印 图 4-2 水印图像 (2) 水印的提取 水印提取程序为嵌入的逆过程,运用了离散小波逆变换(IDWT) 。调出水印 提取程序(存于 MATBLE 中的 WORK 文件夹) ,把水印图像读取出来。运行程序, 就可把水印图像中的水印信息提取出来。程序运行结果为 (图 4-3 图 4-4) 图 4-3
34、原始图像和水印图像 图 4-4 提取的水印 可见,水印图像中的水印信息能被很好地提取出来。 (3) 水印图像的攻击 1对水印图像进行 JPEC 有损压缩 用 Photoshop 图像处理软件对水印图像进行 JPEC 压缩,得到压缩后的图像 (图 4-9) 图 4-5 JPEG 有损压缩后水印图像 下面用水印检测程序,检测压缩后水印图像中的水印。程序运行结果为 (图 4-6、图 4-7) 图 4-6 原始图像和水印图像 图 4-7 压缩后提取的水印 提取的水印信息,经过压缩有一定程度的失真。 2对水印图像进行局部剪切 用 Photoshop 图像处理软件对水印图像进行局部剪切,得到剪切后的图像(
35、图 4-8) 图 4-8 剪切后的水印图像 下面用水印检测程序,检测剪切后的水印图像中的水印信息,程序运行结果为 (图 4-9、图 4-10) 图 4-9 原始图像和水印图像 图 4-10 剪切提取的水印 可见,剪切后的水印信息仍能被检测出来。 3.对水印图像进行减淡处理。 用 Photoshop 图像处理软件对水印图像进行减淡处理,得到减淡后的水印图 像 (图 4-11) 图 4-11 减淡后的图像 下面用水印检测程序,检测减淡后的水印图像的水印信息,程序运行结果为 (图 4-12 图 4-13) 图 4-12 原始图像和水印图像 图 4-13 减淡后提取的水印 可见,水印信息能被检测出来。
36、由于水印图像被减淡了,相应地水印信息也 被减淡了。 总结总结 系统实验表明,通过离散小波变换可以实现数字水印的嵌入,提取与检 测,同时通过不同的攻击方法对水印图像加以处理,测试了在保护信息产权 的稳定性和可靠性。 在此次的设计中,我查阅了大量的资料并进行收集,尝试用不同的方法 去实现水印技术,独立的进行关于此方面的科学研究的考究,但是在学习和 探索的过程中依然存在以下问题: (1)对具体的水印算法的原理理解不够,导致在运用的过程中遇到困难。 (2)水印嵌入算法存有一定的缺陷,在嵌入后水印图像有一定的失真, 而且水印的不可见性也达不到很高的水准。 (3)水印的抗攻击能力较差,在对图像进行减淡处理
37、后,提取的水印有 一定程度的失真。 (4)只用了一种方法去实现水印,未能创新出更好的方法,在此后的研 究中多更多的注重。 参考文献参考文献: 1成礼智,王红霞, 罗永. 小波的理论与应用M . 科学出版社 2004.10. 2何风华 .小波分析在信号消噪中的应用J .兵工自动化 2002.6 3 杨义先 . 数字水印基础教程M . 北京人民邮电出版社,2007 4刘振华, 尹萍 .息隐藏技术及其应用M .北京科学出版社,2002. 5李春茹 . 基于小波变换和 HVS 的数字图像水印技术D .西安电子科技大学, 2004. 6孙兆林 . Matlab6 .x 图像处理M . 北京清华大学出版社
38、 , 2004. 7袁渊,窦文华 . 一种基于小波变换域的数字图像公开水印方案J . 计算机工程与应用 , 2004. 8郭磊,郭宝龙 . 小波域数字图像水印算法的研究J.计算机工程与应用 2002,1 . 9黄华, 齐春,李俊. 一种新的丈本数字水印标记策略和检测方法M . 西安交通大学 , 2002.6. 10EKoch,JZhao,Tovards Robust and Hidden Image Copyright Labeling,ProcOf1 995 IEEE Workshop Nonlinear Signal and Image Processing,1 995:2022. 11
39、LouD-C,LiuJ-L.Fault resilient and compression tolerant digital signature for image authentication 1EEETrans.on ConsumerElectron ics,2000,46(1). 英文摘要英文摘要 Study of digital watermark on wavelet transform and the realization on M atlab Abstract:Based on the principle and digital watermarking algorithm o
40、f hiding information analysis, understand the implementation methods and effects. In the information loading and extraction process, the breakthrough tradition encryption technology, with more professional detection means to protect proprietary information property. This paper used the watermark goo
41、d robustness and not receptivity, dedicated to the image processing, on the outside, digital watermarking also can be used in sound, video, etc. The realization of the technical means more WanShanHua will bring them more broad application prospect. KEY Word:Digital watermarking ;information hidden;
42、watermark extraction and detection ;JPEG compression ;matlab 致谢致谢 感谢在我这美好的大学生涯里遇见如此优秀的导师们,不仅在学业上给我 莫大的先导作用,生活中也是给予了关怀,让我的大学生涯充满了温馨与快乐。 在做此篇设计时,我的导师更是对我有很大的帮助作用,耐心的教导我如何去实 现,如何去操作,尽力的在帮助我完善好设计,让我在毕业之际能够做到更好, 对于她的宽容和理解,我非常感谢,同时感谢参加论文评审和答辩的各位老师, 感谢他们在百忙之中抽出时间对论文进行指导和帮助。 附附 录录 A: 1.水印嵌入程序:水印嵌入程序: functi
43、on dwtgl clear all; clc; % 保存开始时间 start_time=cputime; figure(1); % 读出原始图像 subplot(1,2,1); input=imread(image.bmp); imshow(input); title(原始图像); % 读出水印 subplot(1,2,2); water=imread(water2.bmp); imshow(water,); title(水印); % 三色分离 input=double(input); water=double(water); inputr=input(: , : , 1); waterr=
44、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)+
45、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)*si
46、ze(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:s
47、ize(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
48、+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)
49、*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*C
50、wg(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)=
51、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*s
52、ize(Cb,2)/4+k*size(Cwr,2)/4:3*size(Cb,2)/4+. (k+1)*size(Cwr,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=W
53、AVEREC2(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); % 转化为 uint8 watermarked_image_uint8=uint8(output);
54、imwrite(watermarked_image_uint8,watermarked_lena.bmp,bmp); % 显示时间 elapsed_time=cputime-start_time, %输出结果 figure(2); imshow(watermarked_image_uint8); title(水印图像); 2.水印提取程序:水印提取程序: clear all; clc; % 保存开始时间 start_time=cputime figure(1); % 读出原始图像 subplot(1,2,1); input=imread(image.bmp); imshow(input); t
55、itle(原始图像); % 读出水印图像 subplot(1,2,2); watermarked_image=imread(watermarked.bmp); imshow(watermarked_image,); title(水印图像); % 三色分离 input=double(input); watermarked_image=double(watermarked_image); inputr=input(: , : , 1); watermarked_imager=watermarked_image(: , : , 1); inputg=input(: , : , 2); waterma
56、rked_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); % 图像G的分解 Cg,Sg=WAVEDEC2(input
57、g,2,haar); %水印图像B的分解 Cwb,Swb=WAVEDEC2(watermarked_imageb,2,haar); % 图像B的分解 Cb,Sb=WAVEDEC2(inputb,2,haar); %- % 提取水印的小波系数 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
58、(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
59、+(k+1)*size(Cr,2)/16); end whr=(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=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,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省建筑安全员-C证考试(专职安全员)题库及答案
- 2025贵州省建筑安全员-C证考试(专职安全员)题库附答案
- 2025山东省安全员知识题库及答案
- 2025河南省安全员-C证(专职安全员)考试题库
- 食品加工的原料和材料-课件
- 中医内科学-感冒
- 《教师节综合实践》课件
- 有机药化实验课件
- 《急腹症宝力道》课件
- 《运筹学》整数规划
- ZZ007 现代加工技术赛项正式赛题及评分标准完整版包括所有附件-2023年全国职业院校技能大赛赛项正式赛卷
- 锅炉维保服务投标方案(技术标 )
- 房屋买卖合同律师见证书
- 术中获得性压力性损伤预防
- 新形势下物资采购面临的机遇、挑战及对策思考
- 电气接线工艺培训
- 中央空调安全规范
- 胸腔积液-课件
- cn.7a一种酱香型大曲酒固态发酵的生态控制方法
- GB/T 8491-2009高硅耐蚀铸铁件
- 供水安全与抢修
评论
0/150
提交评论