数字水印算法(包含完整程序)
(完整word版)数字水印

摘要随着计算机通信技术的迅速发展,传播数字多媒体信息也越来越方便快捷,迅速兴起的互联网以电子印刷出版、电子广告、数字仓库和数字图书馆、网络视频和音频、电子商务等新的服务和运作方式为商业、科研、娱乐等带来了许多机会。
然而,随之而来的盗版和侵权行为也越来越猖獗,对数字产品的保护和信息安全的迫切需求使得数字水印技术成为多媒体信息安全研究领域的一个热点问题.数字水印可以标识作者、所有者、发行者、使用者等并携带有版权保护信息和认证信息,保护数字产品的合法拷贝和传播.数字水印技术近年来得到了较大的发展,基于变换域的水印技术是目前研究的热点。
数字水印是利用数字作品中普遍存在的冗余数据和随机性,把标识版权的水印信息嵌入到数字作品中,从而可以起到保护数字作品的版权或其完整性的一种技术.本文首先介绍了数字水印的背景、意义以及目前国内外的研究现状等基本问题,接着介绍了数字水印的基本特征、原理,随后介绍了数字水印的基本框架和数字水印的分类,为数字水印算法的提出、实现及测试提供了理论依据。
介绍了一种基于DCT的数字水印嵌入算法以及一种基于小波变换的数字水印嵌入算法,使用MATLAB设计了实验方案。
关键字:数字水印Matlab DCT 小波变换AbstractWith the rapid development of computer communication technology, the spreadof digital multimedia information more and more convenient, rapid rise of Internet publishing electronic printing,electronic advertising, digital storage and digital libraries, online video and audio, e-commerce and other new servicesmany opportunities for commercial,research,entertainment,and mode of operation。
数字水印算法

在选择添加区域和添加技巧上,人们一直在寻 找突破,力求更好。如根据人类视觉系统模型, 产生了块分类的自适应算法等。
谢谢!
DCT数字水印算法
离散余弦变换(DCT)是一种实数域变换,实信 号的DCT变换仍为实数。在数字图像处理中使 用的是二维DCT。对于数字图像X (m, n ), 0<=n, m<=N,其二维DCT变换定义为:
二维DCT反变换(IDCT)定义为:
分块法
扩频法
小结Leabharlann DCT数字水印算法,能同时较好的满足水印图 像的保真度和鲁棒性的需求。
DCT域数字水印算法
6组
频域算法
频率域算法则先要将水印信息和原始信息做一系列复 杂的数学处理才能得到最终的水印媒体。相比较,频 率域算法生成的水印媒体更可靠。 现有的频率域算法卞要有离散余弦变换(DCT)、离散傅里叶 变换(FFT)和离散小波变换(DWT). DCT是水印研究中日前用得最多的一种变换。原因有以下 两点: 1.计算简单,易实现。 2.与日前流行的国际压缩标准兼容,便于在压缩域中实现 水印编码。
数字水印算法介绍

数字⽔印算法介绍数字⽔印算法列举湖南科技⼤学计算机科学与⼯程学院①基于LSB 的数字⽔印⽅案(空间域、不可逆、不可见和盲检测)嵌⼊步骤:(1)先把⽔印信息转化为⼆进制⽐特流I。
(2)根据I的长度⽣成密钥K,并且严格保存。
密钥K是对图像载体像素位置的⼀个映射。
(3)把I中的每⼀位依次根据密钥K,置换掉原始载体图像中相应位置的像素最后⼀位。
提取步骤:(1)根据严格保存的密钥K遍历嵌⼊了⽔印的图像中的相应像素,提取出最后⼀位。
(2)将提取出来的每⼀位重新组合成⽔印信息。
②基于差分扩展的数字⽔印⽅案(变换域、可逆、不可见和盲检测)嵌⼊步骤:(1)将图像M分成像素点对(x,y),将⽔印信息转化为⼆进制⽐特流,⽐特流的每⼀位⽤m 表⽰。
(2)根据⽔印信息⽐特流的长度随机⽣成信息的嵌⼊位置k作为密钥信息严格保存。
(3)对图像M计算均值l和差值h:-=+=yx h y x floor l 2((floor表⽰向下取整)(4)将⽔印⽐特信息m以差值扩展的⽅法嵌⼊到差值h中:mh h +?='2(5)将得到的h '代⼊(3)中,得到新的图像像素对,形成嵌⼊秘密信息后的图像C。
提取步骤:(1)将图像C分成像素点对(x,y),读⼊密钥信息K。
(2)将图像C依旧按照嵌⼊步骤中的(3)式计算均值l和差值h。
(3)根据密钥k找到相应位置,提取差值h的最后⼀位⽐特信息m,再将差值h进⾏变换得到1>>='h h 。
(4)将提取到的⽐特信息m进⾏组合可以恢复⽔印信息,将得到的h '代⼊嵌⼊步骤的(3)中计算新的图像像素对可以恢复原始图像载体M。
③基于直⽅图修改的数字⽔印算法(空间域、可逆、不可见和盲检测)嵌⼊步骤:(1)找到直⽅图的零点z和峰值点p,将z v p <<的像素值v⾃加1。
(2)漂移后的直⽅图v=p处即为嵌⼊⽔印的位置,将⽔印信息转化为⼆进制流并记为k,按顺序嵌⼊,即k v v +=';(3)得到的由像素值v '组成的图像就是嵌⼊秘密信息后的图像。
数字水印技术算法研究

人类视觉特性
人类视觉频域特性: 人眼对图像信息的处理并不是逐点来进行的,而是抽取空间、频 率或色彩的特征进行神经编码. 人的视觉感知特点与统计意义上的信 息分布并不一致,即统计上需要更多信息量才能表述的特征对视觉感 知可能并不重要,从感知的角度来讲无须详细表述这部分特征. 文献 [44]中提出了一种人眼视觉系统模型(HVS),并给出了视觉系统的频 率响应函数
人类视觉频域特性
其中ω 为视角正对的径向频率,单位为周/ 度(cy形状的常数。 HVS 曲线的形状表示式见公式(3-8)
其中当ω max = 3 周/ 度时,HVS 曲线取得峰值。
人类视觉频域特性
图像信号的DCT 变换只是DFT变换的一部分,为了可以直接将视 觉响应函数与DCT 变换相结合,文献[44]中对仅适用于DFT变换的视 觉响应函数提出了矫正函数见公式(3-9):
数字水印系统的基本原理
水印检测是水印算法中最重要步骤。一般来说,水印检测首先 是进行水印提取,然后是水印判决。若将这一过程定义为解码函数 D,那么输出的可以是一个判定水印存在与否的 0-1 决策,也可以 是包含各种信息的数据流,如文本、图像等(图 2-3)。
数字水印系统的基本原理
如果已知原始图像I和有版权疑问的图像I',则水印提取及检测分别见公式 (2-3)和(2-4)。
水印的特性及应用
数字水印(Digital Watermarking)是往多媒体数据(如图像、 声音、视频信号等)中添加某些数字信息(水印)而不影响原数据的 视听效果,并且这些数字信息可以部分或全部从混合数据中恢复出来, 以达到版权保护等作用。这里水印的嵌入载体可以是图像、声音、视 频信号,还可以是文本格式,本文讨论的对象是数字图像。水印信息 也可以是各种媒体,本文选用了图像,不过通过适当的调整就可以适 应其他类型水印信息的嵌入。
matlab数字水印算法及实现和源代码

1.数字作品的知识产权保护----数字作品(如电脑美术、扫描图像、数字音乐、视频、三维动画)的版权保护是当前的热点问题。
由于数字作品的拷贝、修改非常容易,而且可以做到与原作完全相同,所以原创者不得不采用一些严重损害作品质量的办法来加上版权标志,而这种明显可见的标志很容易被篡改。
----“数字水印”利用数据隐藏原理使版权标志不可见或不可听,既不损害原作品,又达到了版权保护的目的。
目前,用于版权保护的数字水印技术已经进入了初步实用化阶段,IBM公司在其“数字图书馆”软件中就提供了数字水印功能,Adobe公司也在其著名的Photoshop软件中集成了Digimarc公司的数字水印插件。
然而实事求是地说,目前市场上的数字水印产品在技术上还不成熟,很容易被破坏或破解,距离真正的实用还有很长的路要走。
2.商务交易中的票据防伪----随着高质量图像输入输出设备的发展,特别是精度超过 1200dpi 的彩色喷墨、激光打印机和高精度彩色复印机的出现,使得货币、支票以及其他票据的伪造变得更加容易。
----另一方面,在从传统商务向电子商务转化的过程中,会出现大量过度性的电子文件,如各种纸质票据的扫描图像等。
即使在网络安全技术成熟以后,各种电子票据也还需要一些非密码的认证方式。
数字水印技术可以为各种票据提供不可见的认证标志,从而大大增加了伪造的难度。
3.证件真伪鉴别----信息隐藏技术可以应用的范围很广,作为证件来讲,每个人需要不只一个证件,证明个人身份的有:身份证、护照、驾驶证、出入证等;证明某种能力的有:各种学历证书、资格证书等。
国内目前在证件防伪领域面临巨大的商机,由于缺少有效的措施,使得“造假”、“买假”、“用假”成风,已经严重地干扰了正常的经济秩序,对国家的形像也有不良影响。
通过水印技术可以确认该证件的真伪,使得该证件无法仿制和复制。
4.声像数据的隐藏标识和篡改提示----数据的标识信息往往比数据本身更具有保密价值,如遥感图像的拍摄日期、经/纬度等。
(完整word版)数字水印源码

数字水印源码,希望对大家学习有帮助.%由高斯正态分布序列g1 产生36×4 的水印信%号w0,w0 由(0,1)组成。
clearrandn(’state’,1106);g1=randn(36,4);for i=1:36for j=1:4if g1(i,j)〉=0w0(i,j)=1;else w0(i,j)=0;end;end;end;figure;imshow(w0);title('水印');%对水印信号w0 进行(7,4)汉明编码,得到一%36×7 的分组码x0。
x0=w0;for i=1:36s=8*x0(i,1)+4*x0(i,2)+2*x0(i,3)+x0(i,4);x0(i,5)=0;x0(i,6)=0;x0(i,7)=0;case 1x0(i,5)=0;x0(i,6)=1;x0(i,7)=1; case 2x0(i,5)=1;x0(i,6)=1;x0(i,7)=0; case 3x0(i,5)=1;x0(i,6)=0;x0(i,7)=1; case 4x0(i,5)=1;x0(i,6)=1;x0(i,7)=1; case 5x0(i,5)=1;x0(i,6)=0;x0(i,7)=0;case 6x0(i,5)=0;x0(i,6)=0;x0(i,7)=1;case 7x0(i,5)=0;x0(i,6)=1;x0(i,7)=0;case 8x0(i,5)=1;x0(i,6)=0;x0(i,7)=1;case 9x0(i,5)=1;x0(i,6)=1;x0(i,7)=0;case 10x0(i,5)=0;x0(i,6)=1;x0(i,7)=1;case 11x0(i,5)=0;x0(i,6)=1;x0(i,7)=0;case 13x0(i,5)=0;x0(i,6)=0;x0(i,7)=1;case 14x0(i,5)=1;x0(i,6)=0;x0(i,7)=0;case 15x0(i,5)=1;x0(i,6)=1;x0(i,7)=1;end;end;% 对x0 进行行向位扩展,得到一个由(—1,1)组成%的扩展序列y。
数字水印算法(包含完整程序)

课程设计任务书学生姓名:_______________ 专业班级:______________________ 指导教师:_______________ 工作单位:武汉理工大学题目:数字水印算法设计初始条件:(1) Mat lab应用软件的基本知识以及基本操作技能。
(2)高等数学、信号与系统等基础运算知识。
要求完成的主要任务:(1)掌握一种数字水印的嵌入与提取算法原理。
(2)编写出水印嵌入算法的mat lab程序,并给出水印嵌入前后的版权图像,并对嵌入效果进行分析说明。
(3)编写出水印提取算法mat lab程序,并给出水印原图和提取出的水印图像, 并对水印的提取效果进行分析说明。
(4)进行水印的抗攻击实验,噪声攻击,剪切攻击,缩放攻击,压缩攻击等。
测定提取前后水印的峰值信噪比(PSNR)和相关性(NC)。
时间安排:6月20日到6月27日6月28日到7月3日7月4日理论设计与仿真撰写报告答辩年月日指导教师签名:系主任(或责任教师)签名:摘要 (2)ABSTRACT (3)1........................................................................................................................ 数字水印技术概述 (4)数字水印技术提出的背景 (4)数字水印的基本特点 (4)数字水印的应用 (5)软件的介绍 (7)MATLAB研究数字水印的优点 (7)MATLAB函数介绍 (8)3.傅立叶域水印理论基础 (10)傅立叶变换简述 (10)一维离散傅立叶变换DFT (10)快速傅立叶变换FFT (11)二维离散傅立叶变换 (12)傅立叶变换性质 (13)空间域平移性 (13)旋转不变性 (14)比例缩放性 (14)4.基于傅立叶域相关性检测的半盲水印 (15)引言 (15)基于Arnold变换的图像置乱算法 (15)水印算法 (17)算法原理 (17)算法的mat lab实现步骤 (20)算法的matlab实现及结果分析 (21)5.总结与心得体会 (26)6.参考文献 (27)附录 (28)随着计算机及网络技术的E速发展,数字作品传播和拷贝变得越来越方便, 同时使得数字作品的信息安全保护和版权保护也成为迫切需要解决的实际问题。
数字水印技术及应用

经验与交流 计算机与信息技术 ·91·数字水印技术及应用龚翱 李曾妍 陈刚(湖南人文科技学院 计算机科学系,湖南 娄底 417000)摘 要 随着网络技术和媒体信息数字化的飞速发展,数字水印技术成为目前研究的热点。
本文介绍了数字水印的概念、原理和研究现状,并分析了常见的数字水印算法,最后讨论数字水印的应用领域,并展望了未来发展及研究方向。
关键词 数字水印;信息隐藏;算法1 引言随着信息时代的到来,特别是Internet 的普及,数字技术飞速发展。
数字媒体如图像、视频、音频等作品因其复制、篡改、非法传播非常容易,使得版权保护和信息安全问题日益突出。
为了保护知识产权,以往采用数据加密的方法,只有掌握密钥的授权用户才能解密并使用数据,但这种方法只能控制用户存取数据,与数据本身无关。
因此,人们又提出了数字信息产品版权保护和数据安全维护的新技术——数字水印(Digital Watermarking)。
2 数字水印的概念及原理数字水印技术是一种信息隐藏技术,它是在数字图像、音频和视频等数字作品中嵌入秘密信息,以便保护数字作品的版权、证明产品的真实可靠性、跟踪盗版行为或者提供产品的附加信息,其中的秘密信息可以是版权标志、用户序列号或者是产品相关信息。
一般,该秘密信息需要经过适当变换再嵌入到数字作品中,通常称变换后的秘密信息为数字水印[1]。
数字水印技术以其特定的优势,成为目前的一个研究热点,得到越来越广泛发展和应用。
图1 水印的嵌入、提取过程一个完整的数字水印系统应包含:水印的嵌入和水印的提取或检测。
水印嵌入算法利用对称密钥或公开密钥实现把水印嵌入到原始载体信息中,得到隐秘载体。
水印检测或提取算法利用相应的密钥从隐蔽载体中检测或恢复出水印,没有解密密钥,攻击者很难从隐秘载体中发现和修改水印。
水印的嵌入和提取如图1所示。
3 数字水印的主要特性(1)不可感知性。
也称隐蔽性,数字作品嵌入数字水印后,不会引起质量明显的下降,也不容易被察觉,即使采用统计的方法也不能提取或确定水印的存在。
小波变换的数字水印算法及其matlab实现

小波变换的数字水印算法及其matlab实现1. 概述数字水印技术是信息安全领域的重要研究方向之一,在数字水印技术中,小波变换被广泛应用于数字图像的隐写和水印嵌入。
小波变换是一种时域和频域综合分析的数学工具,它具有多分辨率分析的特点,因此适用于数字水印的隐藏和提取。
2. 小波变换的数字水印算法小波变换的数字水印算法包括水印嵌入和水印提取两个部分。
在水印嵌入部分,首先将原始图像进行小波变换,然后将水印信息嵌入到小波系数中,最后进行逆小波变换得到带有水印的图像。
在水印提取部分,首先对带有水印的图像进行小波变换,然后提取小波系数中的水印信息,最后还原出原始的水印信息。
3. 小波变换的数字水印算法的matlab实现假设我们要对一幅图像进行数字水印嵌入和提取,我们可以使用matlab工具进行实现。
我们可以利用matlab中的小波变换函数对图像进行小波变换,得到小波系数。
我们可以将水印信息以一定的规则嵌入到小波系数中,得到带有水印的小波系数。
利用matlab中的逆小波变换函数将带有水印的小波系数还原成具有水印的图像。
在水印提取部分,我们同样可以利用matlab中的小波变换函数对带有水印的图像进行小波变换,得到小波系数,然后提取出小波系数中的水印信息,最后还原出原始的水印信息。
4. 结论小波变换的数字水印算法是一种具有较高安全性和鲁棒性的数字水印算法,它广泛应用于数字图像的隐写和水印嵌入中。
利用matlab工具实现小波变换的数字水印算法不仅可以加快开发的速度,还可以便于算法的验证和分析。
希望本文可以对小波变换的数字水印算法及其matlab实现有所帮助。
5. 参考文献[1] Cox I J, Miller M L, Bloom J A, et al. Digital Watermarking: Princi-ples Practices. Morgan Kaufmann,2001.[2] 刘昆, 李煜,王裴,等.一种新的基于小波变换的数字图像不可见水印算法[J].计算机应用与软件,2005,22(6):42-44.数字水印技术是一种在数字媒体中隐藏信息的技术,旨在保护作品的版权、完整性、认证及追踪,同时又不会对原始媒体造成太大的修改,因此在当前的数字化信息传输和存储领域具有广泛的应用。
数字水印——Patchwork

10
11
12
13
14
15
简单的Patchwork实验
16
水印检测
17
18
19
考虑到灰度图像实际上就是Yuv模型中的Y分 亮,所以,基于亮度统计特性的空域隐藏算法 比较多地应用在灰度图像上。当然这并不表示 它们只适用于灰度图像。
20
2
Patchwork数字水印算法
Patchwork算法是一种数据量较小、能见度很低、 鲁棒性很强的数字水印算法,其生成的水印能够抗 图像剪裁、模糊化和色彩抖动。 以隐藏1bit数据为例,Patchwork算法首先通过伪 随机数生成器产生两个随机数序列,分别按图像的 尺寸进行缩放,成为随机点坐标序列。然后将其中 一个坐标序列对应的像素亮度值降低,同时升高另 一坐标序列对应的像素亮度。 由于亮度变化的幅度很小,而且随机散布,并不集 中,所以不会明显影响图像质量。所选取的伪随机 数生成器的种子就是算法的密钥。
7
简单的Patchwork实验
用伪随机置换策略选取足够多的像素点,然后取其 前一半构成像素集合{ai},另一半构成像素集合{bi}。 标准的Patchwork水印检测算法中,主要的判定式是: sum − 2k < δ 该式的实际意义是说两组经过调整的像素的平 均亮度差值应非常接近于2度。本身应该是个比较小 的数,但在理论上不应该小于原始图像未加水印前 的平均亮度差值。
水印的检测算法与秘密信息的提取算法不同,不 要求原始图像的参与,而仅根据待测图像来鉴别。
6
Patchwork数字水印算法
算法的伪C代码描述为:
int k; float δ ; for (i=1;i<=N;i++) sum+=( lum(ai)-lum(bi)); if ( sum − 2k < δ ) /*此和值足够接近于2k*/ 存在水印; else 不存在水印;
数字水印处理

抗轻度高斯噪声0.01,0.01
抗重度高斯噪声0.1,0.1
椒盐噪声攻击实验
抗轻度椒盐噪声0.02
抗重度椒盐噪声0.25
剪切攻击实验
谢谢!
数字水印处理
数字水印
数字媒体中嵌入与媒体的作者、版权和使用许 可相关的信息,并在嵌入后主观上观察不到明显的 图片信息质量下降。 分类:可见水印和不可见水印。 嵌入算法:空域算法和变换域算法。 提取算法:盲水印算法和非盲水印算法。
水印嵌入流程图
开始
对水印置乱处理 选择嵌入位置
嵌入
下一个个子块 否 是
150 150
1次
2次
5次
5次
383次
384次
实验所用图像原图像
嵌入点的选择
嵌入点坐标(1,2)
嵌入点坐标(4,5)
DCT 变换后,代表低频成份的 量分布于左上角, 而越高频率 成份越向右下角分布。
嵌入点坐标(7,8)
嵌入强度的选择
0.05的嵌入强度
0.2的嵌入强度
0.8的嵌入强度
高斯噪声攻击实验
Arnold变换的周期性
利用Arnold 变换的周期性,可以完成大多数文献中水印图像的复原过程, 这种方法简称为周期算法。
原 图
M次置乱
置 乱 图
T-M次置乱
原 图
N m N m
2 3 11 5
3 4 12 12
4 10 25 50
5 12 50
6 6
7 7
8 12
9 30
10 5
100 120 128 256 512 60 96 192 384
程序结束
水印嵌入方法
216 256 256 256 216 256
数字水印算法综述

数字水印算法综述作者:吴婷婷李星野倪时金来源:《电子世界》2012年第18期【摘要】针对数字水印技术研究的背景、目前研究成果、存在问题以及今后发展方向做了一个综述。
首先简要介绍数字水印的特点和应用,其次对提升小波的基本原理进行了阐述,同时对现有文献中的数字水印算法做了深入的分析对比,最后展望了数字水印的研究方向和应用前景。
【关键词】数字水印;提升小波变换;人类视觉系统(HVS);奇异值分解(SVD)1.引言随着信息媒体的数字化,特别是计算机网络的迅速发展和广泛应用,为信息的存取和传递提供了极大的便利,同时也提高了信息表达的效率和准确性。
但是随之而来的数字作品的版权问题和信息安全问题越来越引起人们的关注。
数字水印(digital watermarking)技术[1]作为新兴的信息安全技术,为解决数字作品的侵权问题提供了一个有效的解决途径。
近年来,数字水印技术研究取得了很大进展,并陆续提出了一系列优秀的水印嵌入算法。
进而关于彩色图像的水印嵌入算法、多功能水印嵌入算法等也相继出现,以及数字水印与其它技术相结合的研究也取得了一些重要成果。
这使得数字水印技术的应用越来越广泛而受到人们的关注。
2.数字水印技术2.1 数字水印概念数字水印技术[2]是利用数字作品中普遍存在的冗余数据与随机性,将数字、序列号、文字、图像标志等版权信息嵌入到被保护的数字作品本身中,通过检测和提取水印,可以标识和验证出数字化图像、视频和音频作品的作者、拥有者、发行者或授权消费者的信息,还可以追溯数字作品的非法传播,从而起到版权保护、秘密通信、数据文件的真伪鉴别和产品标识等作用。
水印技术中,隐蔽性和鲁棒性是最基本的要求,影响隐蔽性和鲁棒性的因素主要是水印的结构和嵌入方法。
水印容量与鲁棒性构成了一对基本矛盾,即嵌入的水印信息越多,算法的鲁棒性越差。
2.2 应用数字水印主要在以下几个领域[3]:(1)版权保护(2)篡改提示(3)票据、证件防伪(4)隐蔽通信2.3 数字水印典型算法数字水印算法大致可以分为两类:空域算法和变换域算法。
数字水印的相关算法

整个图像的平均亮度保持不变。该算法具有不易察觉性,并且对于有损压缩编码(JPEG)和一些恶意攻击处理,对于滤波,压缩和扭转等操作具有抵
抗能力。基于空间域水印方案,在图像经过几何变换或剪切后,仍能恢复水印,在追求简捷高效,但安全性要求不高的应用场合,空间域的方法得
到了广泛的应用,众多人员致力于此类算法的研究与改进。
来,以达到鲁棒性与不可见性较好的折衷;基于拼凑法而提出的一些数字
水印方法也具有一定的鲁棒性,能够经受J P E G压缩,采样等处理。基于统计的数字水印嵌入方案和纹理块映射编码方法则是空间域水
印技术的典型设计,以Patchwork算法为例,该算法随机选择N对像素点(ai,bi),然后将每个ai点的亮度值加1,每个bi点的亮度值减1,这样
压缩域算法
基于JPEG、MPEG标准的压缩域数字水印系统不仅节省了大量的完全解码和重新编码过程,而且在数字电视广播及VOD(Video on Demand)
中有很大的实用价值。相应地,水印检测与提取也可直接在压缩域数据中进行。下面介绍一种针对MPEG.2压缩视频数据流的数字水印方案。虽然
MPEG.2数据流语法允许把用户数据加到数据流中,但是这种方案并不适合数字水印技术,因为用户数据可以简单地从数据流中去掉,同时,在10
D5{di},121,?,k,水印是服从高斯分布的随机实数序列1jr={wi},OI:1,?。k,那么水印的嵌入算法为di=di(1+awi),其中常数a为尺度因子,
控制水印的添加强度。然后用新的系数做反变换得到水印图像L。该方法即使当水印图像经过一些通用的几何变形和信号处理操作而产生比较明
显的变形后仍然能够提取出一个可信赖的水印拷贝。一个简单改进是不将水印嵌入到D C T域的低频分量上,而是嵌入到中频分量上以调节水印的
(完整word版)LSB数字水印算法

一.数字水印数字水印技术数字水印技术(Digital Watermark):技术是将一些标识信息(即数字水印)直接嵌入数字载体(包括多媒体、文档、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统)觉察或注意到。
目前主要有两类数字水印,一类是空间数字水印,另一类是频率数字水印。
空间数字水印的典型代表是最低有效位(LSB)算法,其原理是通过修改表示数字图像的颜色或颜色分量的位平面,调整数字图像中感知不重要的像素来表达水印的信息,以达到嵌入水印的目的。
频率数字水印的典型代表是扩展频谱算法,其原理是通过时频分析,根据扩展频谱特性,在数字图像的频率域上选择那些对视觉最敏感的部分,使修改后的系数隐含数字水印的信息。
可视密码技术二.可视密码技术:可视密码技术是Naor和Shamir于1994年首次提出的,其主要特点是恢复秘密图像时不需要任何复杂的密码学计算,而是以人的视觉即可将秘密图像辨别出来。
其做法是产生n张不具有任何意义的胶片,任取其中t张胶片叠合在一起即可还原出隐藏在其中的秘密信息。
其后,人们又对该方案进行了改进和发展。
主要的改进办法办法有:使产生的n张胶片都有一定的意义,这样做更具有迷惑性;改进了相关集合的造方法;将针对黑白图像的可视秘密共享扩展到基于灰度和彩色图像的可视秘密共享。
三.数字水印(Digital Watermark或称Steganography)技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。
数字水印是信息隐藏技术的一个重要研究方向。
数字水印技术源于开放的网络环境下保护多媒体版权的新型技术,它可验证数字产品的版权拥有者、识别销售商、购买者或提供关于数字产品内容的其他附加信息,并将这些信息以人眼不可见的形式嵌入在数字图像或视频序列中,用于确认数字产品的所有权和跟踪侵权行为。
除此之外,它在证据篡改鉴定,数字的分级访问,数据产品的跟踪和检测,商业视频广播和因特网数字媒体的服务付费,电子商务的认证鉴定,商务活动中的杜撰防伪等方面也具有十分广阔的应用前景。
图像处理中的数字水印算法综述

图像处理中的数字水印算法综述数字水印是一种通过在数字媒体中嵌入特定信息进行认证、保护和传播的技术。
在图像处理领域,数字水印算法广泛应用于版权保护、信息隐藏、内容认证以及图像溯源等方面。
本文将综述图像处理中的数字水印算法及其应用,并重点介绍几种常用的数字水印算法。
一、数字水印的概念与分类数字水印是在数字媒体中嵌入的一段特定的信息,不可感知地存储于原始图像中。
数字水印按照水印的类型可以分为可见水印和不可见水印。
可见水印是在原始图像中直观可见的标识,常用于版权保护和身份认证。
而不可见水印则是在原始图像中隐藏的隐蔽信息,常用于图像溯源与内容认证。
二、数字水印算法的综述1. 空域水印算法空域水印算法是将水印嵌入到原始图像的像素值中。
其中,最简单的一种方法是最低有效位(LSB)算法,它将水印信息嵌入到原始图像中的最低比特位中,对图像的质量影响较小。
此外,还有基于差值扩展和扩频技术的空域水印算法,能够提高水印嵌入的容量和鲁棒性。
2. 变换域水印算法变换域水印算法是将水印嵌入到原始图像的变换域中,如离散余弦变换(DCT)和离散小波变换(DWT)。
其中,基于DCT的数字水印算法通过选择合适的频域系数进行嵌入操作,提高了水印的鲁棒性和不可感知性。
基于DWT的数字水印算法则通过将水印嵌入到图像的高频细节中,提高了水印的抗压缩性能。
3. 频域水印算法频域水印算法是将水印嵌入到原始图像的频域中,如离散傅里叶变换(DFT)和离散小波变换(DWT)。
这些算法通过在频域对图像进行分析,选择合适的频域系数进行水印嵌入,以提高水印的鲁棒性和不可感知性。
4. 扩频水印算法扩频水印算法是一种基于码片序列的数字水印算法,其原理是将水印信息通过扩频技术嵌入到原始图像中。
这种算法具有较好的鲁棒性和抗攻击性能,常用于版权保护和内容认证。
三、数字水印算法的应用1. 版权保护数字水印技术提供了一种有效的版权保护手段。
通过将版权信息嵌入到数字媒体中,可以在未经授权的情况下追踪盗版行为,并为原始创作者提供法律保护。
数字水印技术LSB算法MATLAB源代码

close allclear all;% save start timestart_time=cputime;% read in the cover objectfile_name='E:\Phd\My Paper\Second paper -- Experiment\Experiment\Cover and Secretlmage\le na.bmp:[cover_object,map]=imread(file _n ame);% read in the secret imagefile_name='E:\Phd\My Paper\Second paper -- Experiment\Experiment\Cover and SecretImage\hat.bmp';[secret,map1]=imread(file_ name);secret仁secret;% convert to double for n ormalizatio n, the n back aga insecret=double(secret);secret=fix(secret./2); %rounds the eleme nts of A toward zero, result ing in an array of in tegers secret=uin t8(secret);% determ ine size of cover objectMc=size(cover_object,1); %HeightNc=size(cover_object,2); %Width% determ ine size of secret objectMm=size(secret,1); %HeightNm=size(secret,2); %Width% title the secret object out to cover object size to gen erate watermarkfor ii = 1:Mcfor jj = 1:Ncif (secret(ii,jj)>75)watermark(ii,jj)=255;elsewatermark(ii,jj)=0;endendend% now we set the lsb of cover_object(ii,jj) to the value of watermark(ii,jj)watermarked_image=cover_object;for ii = 1:Mcfor jj = 1:Ncif (watermark(ii,jj)==O)watermarked 」m age(ii,jj)=bitset(watermarked 」m age(ii,jj),1,0);%Set bit certa in positi onelsewatermarked 」m age(ii,jj)=bitset(watermarked 」m age(ii,jj),1,1); %Set bit certa in positi onendendend% write the watermarked image out to a fileimwrite(watermarked 」mage,'lsb_watermarked.bmp','bmp');%==================================Extracti on===========================% determ ine size of watermarked imageMw=size(watermarked 」mage,1); %HeightNw=size(watermarked 」mage,2); %Width% use lsb of watermarked image to recover watermarkfor ii = 1:Mwfor jj = 1:NwRecoveryWatermark(ii,jj)=bitget(watermarked 」m age(ii,jj),1);endend% scale the recovered watermarkRecoveryWatermark=2*double(RecoveryWatermark);%====================================================================%===========================SharpAttack================= SharpedWatermarkImage = watermarked 」m age;H = fspecial('u nsharp',0.001); %the alpha from 0.005 to 0.1 20 numberssharpImage = imfilter(SharpedWatermarklmage,H,'replicate');figure(6);colormap(gray(256));imshow(sharpImage); atattitle('sharp Image');imwrite(sharplmage, gray(256), 'sharplmage.bmp');% determ ine size of watermarked imageMSw=size(sharpImage,1); %HeightNSw=size(sharplmage,2); %Width% use lsb of watermarked image to recover watermarkfor ii = 1:MSwfor jj = 1:NSwRecoverySharpWatermark(ii,jj)=bitget(abs(sharplmage(ii,jj)),1);endend% scale the recovered watermarkRecoverySharpWatermark=2*double(RecoverySharpWatermark);psn rSharp = psn r(RecoveryWatermark, RecoverySharpWatermark)figure(7);colormap(gray(256));imshow(RecoverySharpWatermark,[])title('RecoverySharpWatermark');%====================================================================%%%===========================Gaussia n Blur=================Gaussia nBlurWatermarkedlmage = watermarked_image;H = fspecial('gaussian',size(GaussianBlurWatermarkedlmage),0.035); %the alpha from 0.005 to 0.1 20 numbersGaussia nBlurlmage = imfilter(Gaussia nBlurWatermarkedlmage,H,'replicate');figure(8);colormap(gray(256));imshow(Gaussia nBlurlmage』)title('Gaussia n Blur Image');imwrite(Gaussia nBlurlmage, gray(256), 'Gaussia nBlurlmage.bmp');% determ ine size of watermarked imageMSw=size(Gaussia nBlurlmage,1); %HeightNSw=size(Gaussia nBlurlmage,2); %Width% use lsb of watermarked image to recover watermarkfor ii = 1:MSwfor jj = 1:NSwRecoveryGaussia nBlurWatermark(ii,jj)=bitget(Gaussia nBlurlmage(ii,jj),1);end end% scale the recovered watermarkRecoveryGaussia nBlurWatermark=2*double(RecoveryGaussia nBlurWatermark);psn rBlur = psn r(RecoveryWatermark, RecoveryGaussia nBlurWatermark) figure(9);colormap(gray(256));imshow(RecoveryGaussia nBlurWatermark』) title('RecoveryGaussia nWatermark');% %% %===========================================================% %HistogramhistogramWatermarkedlmage = watermarked」m age;histogramimage = histeq(watermarked_image,10); % from 10 to 200 figure(10);colormap(gray(256));image(histogramimage);title('histogramimage Image');imwrite(histogramimage, gray(256), 'histogramimage.bmp');MSw=size(histogramlmage,1); %HeightNSw=size(histogramlmage,2); %Width% use lsb of watermarked image to recover watermarkfor ii = 1:MSwfor jj = 1:NSwRecoveryHistogramWatermarked(ii,jj)=bitget(histogramlmage(ii,jj),1); endend% scale the recovered watermarkRecoveryHistogramWatermarked=2*double(RecoveryHistogramWatermarked); psn rHistorgram = psn r(RecoveryWatermark, RecoveryHistogramWatermarked) figure(11);colormap(gray(256));imshow(RecoveryHistogramWatermarked,[]) title('RecoveryHistogramWatermarked');%%%% %==========================Noise=============================NoiseWatermarked = watermarked_image;Noiseimage = imno ise(NoiseWatermarked,'gaussia n',0.001);figure(12);colormap(gray(256));imshow(NoiseImage);title(' no iselmage');imwrite(Noiselmage, gray(256), 'no iselmage.bmp');MSw=size(Noiselmage,1); %HeightNSw=size(Noiselmage,2); %Width% use lsb of watermarked image to recover watermarkfor ii = 1:MSwfor jj = 1:NSwRecoveryNoiseWatermarked(ii,jj)=bitget(Noiselmage(ii,jj),1);endend% scale the recovered watermarkRecoveryNoiseWatermarked=2*double(RecoveryNoiseWatermarked);psn rNoise = psn r(RecoveryWatermark, RecoveryNoiseWatermarked)figure(13);colormap(gray(256));imshow(RecoveryNoiseWatermarked,[]) title('RecoveryNoiseWatermarked'); %%===================================================================% display process ing time elapsed_time=cputime-start_time,。
数字水印算法设计

课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 数字水印算法设计初始条件:MATLAB软件平台、版权图像、水印图像要求完成的主要任务:1.设计任务学习掌握一种数字水印算法,选择两幅图像分别作为版权图像和水印图像,采用水印嵌入算法成生含水印图像。
采用水印提取算法,提取出嵌入水印。
并对水印算法的鲁棒性进行测试。
2.设计要求①掌握一种数字水印的嵌入与提取算法原理。
②编写出水印嵌入算法的matlab程序,并给出水印嵌入前后的版权图像,并对嵌入效果进行分析说明。
③编写出水印提取算法matlab程序,并给出水印原图和提取出的水印图像,并对水印的提取效果进行分析说明。
④进行水印的抗攻击实验,噪声攻击,剪切攻击,缩放攻击,压缩攻击等。
测定提取前后水印的峰值信噪比(PSNR)和相关性(NC)时间安排:第18-19周。
指导教师签名:年月日系主任签名:年月日目录摘要 (1)1数字水印概念 (2)1.1 数字水印分类 (2)1.2 数字水印特点 (2)2 数字水印算法 (3)2.1 数字水印基本模型 (3)2.2 常见数字水印算法 (4)2.2.1 空间域算法 (4)2.2.2 变换域算法 (4)2.2.3 其他算法 (5)2.3离散余弦变换(DCT)算法 (5)2.3.1 DCT变换公式 (5)2.3.2 二维DCT的性质 (6)2.4 离散余弦变换的水印嵌入 (7)2.5离散余弦变换的水印提取 (8)3 数字水印算法的MATLAB编程 (9)3.1数字水印的嵌入 (9)3.2数字水印的提取 (11)4 数字水印的抗攻击实验 (12)4.1噪声攻击 (13)4.2滤波攻击 (14)4.3压缩攻击 (15)4.4剪切攻击 (16)4.5旋转攻击 (17)5 小结与体会 (18)参考文献 (18)附录 (19)摘要数字水印技术近年来得到了较大的发展,基于变换域的水印技术是目前研究的热点。
数字水印是利用数字作品中普遍存在的冗余数据和随机性,把标识版权的水印信息嵌入到数字作品中,从而可以起到保护数字作品的版权或其完整性的一种技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书学生姓名: 专业班级:指导教师:工作单位:武汉理工大学题目: 数字水印算法设计初始条件:(1)Matlab应用软件的基本知识以及基本操作技能。
(2)高等数学、信号与系统等基础运算知识。
要求完成的主要任务:(1)掌握一种数字水印的嵌入与提取算法原理。
(2)编写出水印嵌入算法的matlab程序,并给出水印嵌入前后的版权图像,并对嵌入效果进行分析说明。
(3)编写出水印提取算法matlab程序,并给出水印原图和提取出的水印图像,并对水印的提取效果进行分析说明。
(4)进行水印的抗攻击实验,噪声攻击,剪切攻击,缩放攻击,压缩攻击等。
测定提取前后水印的峰值信噪比(PSNR)和相关性(NC)。
时间安排:6月20日到6月27日理论设计与仿真6月28日到7月3日撰写报告7月4日答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (2)ABSTRACT (3)1.数字水印技术概述 (4)1.1 数字水印技术提出的背景 (4)1.2 数字水印的基本特点 (4)1.3 数字水印的应用 (5)1.MATLAB软件的介绍 (7)2.1 MATLAB研究数字水印的优点 (7)2.2 MATLAB函数介绍 (8)3.傅立叶域水印理论基础 (10)3.1 傅立叶变换简述 (10)3.1.1 一维离散傅立叶变换DFT (10)3.1.2 快速傅立叶变换 FFT (11)3.1.3 二维离散傅立叶变换 (12)3.2 傅立叶变换性质 (13)3.2.1 空间域平移性 (13)3.2.2 旋转不变性 (14)3.2.3 比例缩放性 (14)4.基于傅立叶域相关性检测的半盲水印 (15)4.1 引言 (15)4.2 基于Arnold 变换的图像置乱算法 (15)4.3 水印算法 (17)4.3.1 算法原理 (17)4.3.2 算法的matlab 实现步骤 (20)4.4 算法的matlab 实现及结果分析 (21)5.总结与心得体会 (26)6.参考文献 (27)附录 (28)摘要随着计算机及网络技术的飞速发展,数字作品传播和拷贝变得越来越方便,同时使得数字作品的信息安全保护和版权保护也成为迫切需要解决的实际问题。
数字水印是近年来在信息安全领域兴起的保护知识产权的新方法。
它通过在原始数据中嵌入一些重要信息为受到版权保护的媒体数据的完整性和所有权归属提供完全和可靠的证据,以此达到防止数字产品的盗版和篡改目的。
本文提出了一种基于傅立叶域的有意义水印算法,主要做了如下工作:(1)为了提高水印的安全性,在嵌入水印之前首先对水印信息利用Arnold变换进行置乱。
(2)为了提高传统相关性检测方法的准确率,嵌入水印时采用嵌入两个不相关伪随机序列的方法,大大提高了检测的准确率。
(3)低频部分集中图像的大部分能量,修改这里容易引起失真,所以本文采用修改中高频部分的方法进行嵌入。
(4)本文水印的检测方法为半盲检测,只需要原始水印的部分信息的参与,所以具有重要的现实意义。
关键字:数字水印;傅立叶变换;图像处理;信息安全ABSTRACTAlong with the computer and network technology rapid development, and dissemination of digital works have become increasingly easy to copy, simultaneously allow digital works to protect the security of information and copyright protection has become an urgent need to address the real issues. In recent years, digital watermarking is in the field of information security emerging intellectual property protection method. It passed in the original data embedded in some important information protected by copyright for the data integrity of media ownership and attribution mention for complete and reliable evidence, thereby to prevent the piracy of digital products and tampering with purpose.This paper presents a Fourier-domain based on the meaningful watermarking algorithm, mainly in the following:(1) To enhance the security watermark, before the watermark embedded watermark on the first use of Arnold transform scrambling.(2) To improve the traditional detection methods related to the accuracy, used embedded watermark embedding two are not related to the pseudo-random sequence, greatly improve the detection accuracy.(3) low-frequency part of the image most concentrated energy; changes here easily lead to distortion, therefore this paper, revising part of the high-frequency method for embedding.(4) This watermark detection method for the semi-blind testing, only part of the original image information in, therefore have important practical significance.Key Words:Digital watermarking;Fourier transform;Image processing;Information security1.数字水印技术概述1.1 数字水印技术提出的背景二十一世纪是数字时代,通信技术的迅速发展和计算机网络的普遍运用,使人们可以通过互联网收发信息,可以随时上传自己创作的数字图象、音乐、视频等作品,可以进行学术交流。
然而,也正是由于网络的这种便捷性、传播迅速的优点使其很容易被非法拷贝,导致数字产品的版权、完整性、有效性得不到保证,严重损害了创作者的利益。
而一些具有特殊意义的数字信息,如涉及司法诉讼、政府机要等信息,更是遭到了不法分子地恶意攻击和随意篡改等,这一系列问题给当今科学家带来了巨大挑战。
基于以上类似问题,数字水印技术可以说是信息时代的特有产物,是一种可以在开放网络环境下保护版权和认证来源及保障信息完整性的新型技术,在音频、图像、视频制品中迅速得到广泛的研究和发展。
1.2 数字水印的基本特点数字水印是加在数字图象、音频或视频中的微弱信号,这个信号是人们能够建立产品所有权、辨认购买者或提供数字产品的一些额外信息。
具体说来,它们都具有以下共同的特征:1. 不可感知性对于数字水印的嵌入,应该对观察者没有视觉障碍,理想情况应该是水印图像与原始图像没有丝毫差别。
2. 鲁棒性鲁棒性是指一个数字水印能够承受攻击的能力,一般来说数字水印方法是针对特定的攻击进行设计。
3. 安全性水印技术的安全性是其最重要的特性,由于它的商业性,其算法必须公开,算法的安全性完全取决于密钥,而不对算法进行保密。
4. 计算复杂度不同应用中,对于水印的嵌入算法和提取算法的计算复杂度要求是不同的,复杂度直接与水印系统的实时性相关。
5. 水印容量水印容量是指载体数据字中可嵌入水印信息位的多少,可以从几兆到几个比特不等。
1.3 数字水印的应用数字水印是以不可感知的方式嵌入到数字信息中的,总体来说它有以下应用:数字产品产权保护这是数字水印最广泛的应用,将秘密的数字信号嵌入到有价值的数字文件中,这些数字信号是产权的标识,在不破坏数字文件的情况下不能被盗版者出去,起到了保护产权的作用。
1. 数据库标识有时一些文件中提示数据的标识信息往往比文件本身更重要或者一些音像文件需要将说明注释(如字幕等)与音像本身结合起来,这就可以通过数字水印技术加以解决。
2. 文件内容鉴定水印技术在鉴定数据建立者和鉴别数据内容有着特殊的运用,目的是检测数据是否被修改过或是否经过特殊的处理。
3. 系统升级日常生活中常常涉及到旧装系统升级情况,这可以通过将“增强层”嵌入到所发送的数据中来给传统的信号发射系统升级。
4. 商务交易中的票据防伪随着高质量图像输入输出设备的发展,使得货币、支票以及其他票据的伪造变得更加容易。
目前,美国、日本以及荷兰都已开始研究用于票据防伪的数字水印技术。
5. 媒体侦破这一运用的目的是提取对原始信号进行处理过的信息。
例如,鉴定方法可以发现一幅图像被篡改过,但无法发现是怎样篡改的。
媒体侦破技术就可以指出图像的哪部分被篡改了,指出被插入到原图像中的新对象等等。
2.MATLAB软件的介绍MATLAB语言是一种非常强大的工程语言,被广泛应用于包括信号与图象处理、控制系统设计、通信、系统仿真等诸多领域。
2.1 MATLAB研究数字水印的优点MATLAB语言有不同于其他高级语言特点,它在研究数字水印有如下特点:1. 编程效率高MATLAB语言是用数学形式的语言编写程序,用MATLAB编写程序犹如在演算纸上排列公式与求解问题。
由于它编写简单,所以编程效率高,易学易懂。
2.用户使用方便与其他语言相比,MATLAB能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误甚至语意错误,从而加快了用户编写、修改和调试程序的速度,便于操作。
3. 扩充能力强,交互性好MATLAB语言库函数丰富,用户还可以根据自己的需要方便地建立和扩充新的库函数,提高MATLAB使用效率和扩充功能。