ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:734.35KB ,
资源ID:6889999      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6889999.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字水印算法包含完整程序.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数字水印算法包含完整程序.docx

1、数字水印算法包含完整程序课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 武汉理工大学 题 目: 数字水印算法设计 初始条件:(1)Matlab应用软件的基本知识以及基本操作技能。(2)高等数学、信号与系统等基础运算知识。要求完成的主要任务: (1)掌握一种数字水印的嵌入与提取算法原理。(2)编写出水印嵌入算法的matlab程序,并给出水印嵌入前后的版权图像,并对嵌入效果进行分析说明。(3)编写出水印提取算法matlab程序,并给出水印原图和提取出的水印图像,并对水印的提取效果进行分析说明。(4)进行水印的抗攻击实验,噪声攻击,剪切攻击,缩放攻击,压缩攻击等。测定提取前后水印的峰值

2、信噪比(PSNR)和相关性(NC)。时间安排: 6月20日到6月27日 理论设计与仿真6月28日到7月3日撰写报告7月4日 答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘 要随着计算机及网络技术的飞速发展,数字作品传播和拷贝变得越来越方便,同时使得数字作品的信息安全保护和版权保护也成为迫切需要解决的实际问题。数字水印是近年来在信息安全领域兴起的保护知识产权的新方法。它通过在原始数据中嵌入一些重要信息为受到版权保护的媒体数据的完整性和所有权归属提供完全和可靠的证据,以此达到防止数字产品的盗版和篡改目的。本文提出了一种基于傅立叶域的有意义水印算法,主要做了如下工作:(1)为

3、了提高水印的安全性,在嵌入水印之前首先对水印信息利用Arnold变换进行置乱。(2)为了提高传统相关性检测方法的准确率,嵌入水印时采用嵌入两个不相关伪随机序列的方法,大大提高了检测的准确率。(3)低频部分集中图像的大部分能量,修改这里容易引起失真,所以本文采用修改中高频部分的方法进行嵌入。(4)本文水印的检测方法为半盲检测,只需要原始水印的部分信息的参与,所以具有重要的现实意义。关键字:数字水印;傅立叶变换;图像处理;信息安全ABSTRACTAlong with the computer and network technology rapid development, and dissemi

4、nation 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 emergi

5、ng 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 tamperi

6、ng 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

7、 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-

8、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 数字水印技术提出的

9、背景二十一世纪是数字时代,通信技术的迅速发展和计算机网络的普遍运用,使人们可以通过互联网收发信息,可以随时上传自己创作的数字图象、音乐、视频等作品,可以进行学术交流。然而,也正是由于网络的这种便捷性、传播迅速的优点使其很容易被非法拷贝,导致数字产品的版权、完整性、有效性得不到保证,严重损害了创作者的利益。而一些具有特殊意义的数字信息,如涉及司法诉讼、政府机要等信息,更是遭到了不法分子地恶意攻击和随意篡改等,这一系列问题给当今科学家带来了巨大挑战。基于以上类似问题,数字水印技术可以说是信息时代的特有产物,是一种可以在开放网络环境下保护版权和认证来源及保障信息完整性的新型技术,在音频、图像、视频制

10、品中迅速得到广泛的研究和发展。1.2 数字水印的基本特点数字水印是加在数字图象、音频或视频中的微弱信号,这个信号是人们能够建立产品所有权、辨认购买者或提供数字产品的一些额外信息。具体说来,它们都具有以下共同的特征:1. 不可感知性对于数字水印的嵌入,应该对观察者没有视觉障碍,理想情况应该是水印图像与原始图像没有丝毫差别。2. 鲁棒性鲁棒性是指一个数字水印能够承受攻击的能力,一般来说数字水印方法是针对特定的攻击进行设计。3. 安全性水印技术的安全性是其最重要的特性,由于它的商业性,其算法必须公开,算法的安全性完全取决于密钥,而不对算法进行保密。4. 计算复杂度不同应用中,对于水印的嵌入算法和提取

11、算法的计算复杂度要求是不同的,复杂度直接与水印系统的实时性相关。5. 水印容量水印容量是指载体数据字中可嵌入水印信息位的多少,可以从几兆到几个比特不等。1.3 数字水印的应用数字水印是以不可感知的方式嵌入到数字信息中的,总体来说它有以下应用:数字产品产权保护这是数字水印最广泛的应用,将秘密的数字信号嵌入到有价值的数字文件中,这些数字信号是产权的标识,在不破坏数字文件的情况下不能被盗版者出去,起到了保护产权的作用。1. 数据库标识有时一些文件中提示数据的标识信息往往比文件本身更重要或者一些音像文件需要将说明注释(如字幕等)与音像本身结合起来,这就可以通过数字水印技术加以解决。2. 文件内容鉴定水

12、印技术在鉴定数据建立者和鉴别数据内容有着特殊的运用,目的是检测数据是否被修改过或是否经过特殊的处理。3. 系统升级日常生活中常常涉及到旧装系统升级情况,这可以通过将“增强层”嵌入到所发送的数据中来给传统的信号发射系统升级。4. 商务交易中的票据防伪随着高质量图像输入输出设备的发展,使得货币、支票以及其他票据的伪造变得更加容易。目前,美国、日本以及荷兰都已开始研究用于票据防伪的数字水印技术。5. 媒体侦破这一运用的目的是提取对原始信号进行处理过的信息。例如,鉴定方法可以发现一幅图像被篡改过,但无法发现是怎样篡改的。媒体侦破技术就可以指出图像的哪部分被篡改了,指出被插入到原图像中的新对象等等。2.

13、MATLAB软件的介绍MATLAB语言是一种非常强大的工程语言,被广泛应用于包括信号与图象处理、控制系统设计、通信、系统仿真等诸多领域。2.1 MATLAB研究数字水印的优点MATLAB语言有不同于其他高级语言特点,它在研究数字水印有如下特点:1. 编程效率高MATLAB语言是用数学形式的语言编写程序,用MATLAB编写程序犹如在演算纸上排列公式与求解问题。由于它编写简单,所以编程效率高,易学易懂。 2.用户使用方便与其他语言相比,MATLAB能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误甚至语意错误,从而加快了用户编写、修改和调试程序的速度,便于操作。3. 扩充能力强,交

14、互性好MATLAB语言库函数丰富,用户还可以根据自己的需要方便地建立和扩充新的库函数,提高MATLAB使用效率和扩充功能。良好的交互性使程序员可以使用以前编写过的程序,减少重复性工作。4. 移植性好,开放性好MATLAB是用C语言编写的,而C语言的可移植性很好。于是MATLAB可以很方便地移植到能运行C语言的操作平台上。5. 语言简单,内涵丰富MATLAB语言中最基本最重要的成分是函数,同一函数名,不同数目的输入变量及不同数目的输出变量,代表着不同的含义。这不仅使MATLAB的库函数功能更丰富,而且大大减少了需要的磁盘空间,使得MATLAB编写的M文件简单、短小而高效。6. 方便的绘图功能MA

15、TLAB软件中有一系列绘图函数,在运用MATLAB软件时只需要调用不同的绘图函数,即可在图上标出图题、XY轴标注。7. 功能强大的工具箱是MATLAB的另一特色。MATLAB工具箱中的信号处理、控制系统、神经网络、图象处理、鲁棒控制、非线性系统控制设计、系统辨识、最优化、模糊逻辑、小波、通信、统计(statistics等工具箱),这些工具箱给各个领域的研究和工程应用提供了有力的工具。 8. MATLAB的缺点它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。2.2 MATLAB函数介绍在研究水印技术时,我们处理的

16、图像数据是二维信号,而声音是一维信号,所以在这里,我门只简单介绍与水印有关的函数。1. 数据输入输出函数imread()和imwrite():可以读写bmp, jpg/jpeg, tif/tiff, png, hdf, pcx, wxd格式文件。读索引文件时,还可以得到相应的调色板数据。2. 图象显示imshow():显示一幅图像;imfinfo():可以得到读入图像的信息。如文件的大小、格式、格式版本号、图像的高度、宽度、颜色类型(真彩色,灰度图还是索引图)等。3. 变换域函数对信号采用不同的变换,是实现频域法水印的至关重要的一步,MATLAB中的一维信号和二维信号分别提供了各种变换和逆变换

17、函数。 1) 离散余弦变换(DCT)(1) dct(),dct2():分别实现一维信号和二维信号的DCT(离散余弦变换);(2) idct(),idct2():分别实现一维信号和二维信号的IDCT(逆离散余弦变换);2) 离散傅立叶变换(DFT)(1) fft(),fft2():分别实现一维信号和二维信号的DFT(离散傅立叶变换);(2) ifft(),ifft2():分别实现一维信号和二维信号的IDFT(逆离散傅立叶变换);4. 攻击函数对算法进行攻击测试是对水印鲁棒性检测的一种重要手段,一个好的水印算法必须经过各种攻击测试才能对之做出客观的评价。MATLAB中的许多函数可以直接用来做攻击测

18、试:1)剪裁:imcrop()可以按精确定位的各点坐标进行剪裁;2)加各种噪声:imnoise()可以对图像加入各种噪声,如白噪声、椒盐噪声等。 3.傅立叶域水印理论基础3.1 傅立叶变换简述傅立叶变换(Fourier Transform)是研究信号的频谱方法,它架起了时域和频域之间的桥梁。打个比方来说,傅立叶变换就好比描述函数的第二种语言,能讲两种语言的人常常会发现,在表达某些观点时,一种语言会比另一种语言优越。类似地,图像处理者在解决某一问题时会在空域和频域之间来回切换。傅立叶变换把一个时域信号函数分解为众多的频率成分,这些频率成分又以准确地重构成原来的时域信号,这种变换是可逆的且保持能量

19、不变。下面两个公式(3.1)、(3.2)给出了傅立叶变换及其逆变换:从时域到频域称为Fourier 变换,从频域到时域称为逆Fourier 变换,信号函数f (t)和它的Fourier变换F( )是同一能量信号的两种不同表现形式。Fourier 分析理论十分完善,既可以处理连续的信号也可以处理离散的信号。计算机只能处理离散的信号,于是离散Fourier 变换(DFT)成为计算机实现Fourier 变换的第一种形式。下面我们仅讨论一维离散傅立叶变换和二维离散傅立叶变换。3.1.1 一维离散傅立叶变换DFT对一个连续函数f (t)等间隔采样得到一个离散序列。设共采样N 个数据。则这个离散序列可表示

20、为f (0), f (1),L, f (N 1),并令n为离散时域变量,k为离散频域变量,则可将傅立叶变换对定义如下:一般地, f (n)是实函数,F(k)是复函数,可以写成:其中,R(k)、I (k)分别为复数的实部和虚部。下式为幅度函数,称为f (n)的傅立叶谱:(k)称为相位函数:既可以在幅度函数F(k) 上嵌入水印,也可以在相位函数 (k)上嵌入水印。DFT中,如果f (n)为实函数,则一共需要N N 次实数与复数的乘法,N (N 1)次复数加法,一次实数与复数乘法需要两次实数乘法,一次复数加法需要两次实数加法,所以总共需要2N2 次实数乘法,2N (N 1)次实数加法,因此时间复杂度

21、为O(N2 ),当n很大时,计算机是无法接受的。因此人们想出了快速傅立叶变换。3.1.2 快速傅立叶变换 FFT 1965 年,美国的两位工程师Cooley 和Tukey 提出了快速傅立叶变换(FFT)。FFT 的基本思想是:令序列f (n)的长度N 为N = 2M ,如果不满足,在尾部补零,没有任何影响。按n 的奇偶把f (n)分解为两个N / 2点的子序列:那么,将(3.7)和(3.8)代入上式整理得:上式右边的两部分恰好是长度(周期)为N / 2的g1(m),h1(m)的傅立叶变换G1(k),H1(k)所以:(3.12)和(3.13)可简记为图3.1 的蝶式运算:图 3.1 蝶式算法这样

22、一个长度为N 的DFT 就分解为两个长度为N / 2的DFT,然后进行N / 2次复数的蝶式运算,再运用分解递归的思想,分解M = log N次,每一次均有N / 2个蝶形运算,一个蝶形运算包含一次复数乘法和两次复数加法,所以FFT的时间复杂度为O(N log N)。3.1.3 二维离散傅立叶变换在数字图像处理中,图像信号是二维的,所以下面我们讨论二维离散傅立叶变换。只要考虑两个变量,就很容易将一维离散傅立叶变换推广到二维。二维离散傅立叶变换对如下:二维离散傅立叶变换的傅立叶谱、相位、功率谱与一维的类似,分别如下: 傅立叶谱:相位:功率谱: 式(3.14)可分离为:式(3.15)可分离为:可见

23、,一个二维傅立叶变换或反变换都可分解为二步进行,其中每一步都是一个一维傅立叶变换或反变换,也即先对图像进行一维行傅立叶变换(或列傅立叶变换),然后再进行一维列傅立叶变换(行傅立叶变换)。3.2 傅立叶变换性质傅立叶变换的典型性质有下列三种:3.2.1 空间域平移性空间域内的图像f (x, y)的原点平移到点(a,b)时,其对应的频谱变换关系为:即频谱乘上一个负的指数项,造成相位平移,而幅度不改变。因为这表明图像在空间域的平移不改变傅立叶域的幅度谱,仅对相位角有影响。3.2.2 旋转不变性在空间域中以极坐标r, 取代x,y;在变换域以w ,代替u,v,使得:显然,在DFT 变换前图像为f (r,

24、 ),DFT变换后为F( ,) .可以证明存在以下变换对: 这表明,图像阵列f (r, )在空间域中旋转了0 角度后,变换系数矩阵在频率域中也旋转同样的角度。同样的,如果变换域系数阵列在频率域中旋转0 角度后,则反变换后获得的空间域图像f (r, )必然旋转0 角度。 3.2.3 比例缩放性函数 f (x, y)的尺寸缩放到f (ax,by)时,其对应的频谱关系为:这表明图像在空域按比例缩放,其傅立叶频域反方向缩放相同比例。傅立叶变换的这三种典型性质在构造抵抗几何攻击的水印算法时十分有利。4.基于傅立叶域相关性检测的半盲水印4.1 引言目前,图像水印技术的研究对于水印鲁棒性的要求比较高,有相当

25、一部分算法采用伪随机噪声来构造水印,与之相应,采用相关性检验来检测被检测图像中是否含有水印。当被检测图像中所提取的待测序列与原始水印具有较强的相关性时,表示该被检测图像中含有水印,否则,不含有水印。然而在另外一些情况下,对嵌入图像中的水印信息要求比较高。比如要求所嵌入的信息是可读的或可视的,如有意义的信息(文字,图像等)。这种有意义的水印具有无意义水印无可比拟的优点。因此,本章结合伪随机序列与有意义水印,提出了基于傅立叶域相关性检测的水印算法。为了提高水印的安全性,在嵌入水印前用Aronld 变换对水印图像进行了置乱,下面先介绍Aronld 变换。4.2 基于Arnold 变换的图像置乱算法A

26、rnold 变换,又称“猫脸”变换,是Arnold 在研究遍历理论过程中提出的一种变换。假设图像为S = 0,10,1,(x, y) S。令这就是单位正方形上的Arnold 变换。实际上,可以令离散图像的像素坐标扩展到一幅图像上,对于一幅大小为NN 的图像,有下述的Arnold 变换由此做迭代变换,记 考虑其反馈,有 通过离散点的置换,同时把图像信息移植过来,当遍历了原图象的所有点之后,便产生了一副新的图像。对于数字图像而言,我们所说的位置移动其实是对应点的灰度值或RGB 颜色值的移动 ,即原来点(x, y)处象素对应的灰度值或RGB值移动至变换后的点 (x, y)处。如果我们对一个数字图像迭

27、代地使用离散化的Arnold 变换,即将左端输出作为下一次Arnold 变换的输入,可以重复这个过程一直下去。当迭代到某一步时,如果出现的图像符合我们对图像的“杂乱无章”标准的要求,这即是一幅基于Arnold 变换的置乱图像。注意到(4.2)式定义的Arnold 变换实际上是一种点的位置移动,且这种变换是一一对应的。此外,这种变换可以迭代地做下去。类似的变换还有面包师变换。需要注意的是,Arnold 变换具有周期性,即当迭代到某一步时,将重新得到原始图像。Dyson 和Falk 分析了离散Arnold 变换的周期性,给出了对于任意N2,Arnold变换的周期T N 2 / 2。本算法采用的水印

28、图像尺寸为40 40 ,变换周期为30。即迭代的进行30 次Arnold 置乱后,水印图像将恢复原来面目。下表为不同阶数N 下,二维数字图像的Arnold 变换周期。表 4.1 Arnold 变换周期4.3 水印算法4.3.1 算法原理4.3.1.1 嵌入算法原理图 4.1 水印嵌入流程图图4.1 是嵌入算法流程图。为了提高传统相关性检测方法的准确率,本算法采取嵌入两个不相关伪随机序列的方法,有效的提高了提取的准确率。首先将原始图像划分子块,对每一图像块进行DFT变换,将二值水印图像用Arnold变换置乱。产生两个伪随机序列。置乱水印矩阵值为0时用一个伪随机序列与原始图像的幅度谱进行乘性叠加,

29、矩阵值为1时,用另一个伪随机序列与原始图像幅度谱进行乘性叠加。1子块划分将原始图像分成88的图像子块2对每一图像块进行DFT变换然后做FFT平移,对于二维矩阵将一、三象限与二、四象限互换,使得直流分量位于中间。3将二值水印用Arnold变换置乱4产生两个不相关的伪随机序列5.修改相应幅度谱值由于DFT域的幅度谱具有对称性,为了水印嵌入后保持这种对称性不变,也为了确保恢复图像像素值为实数,嵌入水印时采用对称嵌入,即:式中Amplotude()为取复数的幅度, 为嵌入信息。嵌入规则为当水印矩阵元素为0时,将一个伪随机序列与幅度谱对应元素进行乘性叠加。当水印元素为1时,用另一个伪随机序列与幅度谱对应

30、元素进行乘性叠加。嵌入时以滤波矩阵选择嵌入块中的位置。6对每一图像块进行DFT 逆变换,得到含水印图像4.3.1.2 提取算法原理 图 4.2 水印提取流程图水印提取算法是嵌入算法的逆过程1子块划分将嵌入水印图像分成88的图像子块:2对每一图像块进行DFT变换3产生两个不相关的伪随机序列。4计算嵌入水印幅度谱与伪随机序列的相关性,并按照嵌入时的规则产生水印矩阵。5将水印矩阵用Arnold 变换进行置乱得到提取水印。4.3.2 算法的matlab 实现步骤 4.3.2.1 嵌入算法步骤 Step0.设置嵌入强度系数,滤波矩阵,分块大小并保存开始时间。Step1.读入原始图像cover_objec

31、t,并读出其尺寸为Mc Nc。Step2.读入水印图像message,并读出其尺寸为Mm Nm。Step3.对message进行Arnold置乱,并将置乱后水印图像重新排列为向量message_vector。Step4.检查水印信息是否过大,如果水印信息过大返回错误信息,“水印信息过大”。Step5.设置伪随机密钥key,并按照滤波矩阵的1 的个数,生成两个不相关的伪随机序列pn_sequence_one,pn_sequence_zero。Steo6.对原始图像进行88 分块,并对每一分块进行二维傅立叶变换。将低频部分移至中间,计算幅值与相位。如果水印向量元素为零,则pn_sequence_zero 嵌入滤波矩阵为1 处所对应的幅值。如果水印向量元素为零,则pn_sequence_one 嵌入滤波矩阵为1 处所对应的幅值。Step7.对每一分块进行二维傅立叶逆

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2