基于matlab的图像水印算法分析毕业论文.doc
-
资源ID:30695981
资源大小:19.30MB
全文页数:61页
- 资源格式: DOC
下载积分:12金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于matlab的图像水印算法分析毕业论文.doc
摘 要本文对多种数字水印算法进行了研究、对比和改进首先基于matlab编程进行实际检验,验证算法的可行性,然后从水印的置乱、嵌入和提取三个方面,根据实际检验的参数对这些算法的鲁棒性、抗攻击性和隐蔽性进行了对比分析,同时测量了各水印算法的数据容量,并对部分算法中的瑕疵给出了改进建议其中鲁棒性的检验主要是对水印后的图像进行JPEG压缩、旋转、裁剪等操作,然后观察提取出的水印图像是否被破坏,并用实际数据表示破坏程度,进行对比分析不同水印算法的数据容量的测量主要是通过计算同一原始图像中可以嵌入的水印图像的大小,并测量水印图像的数据量来实现关键词 数字水印;小波变换;离散余弦变换;奇异值分解;Matlab55 / 61AbstractIn this paper, a variety of digital watermarking algorithm is studied, compared and improved. Firstly, based on the MATLAB programming of the actual test, verify the feasibility of the algorithm. And then, from the scrambling, embedding and extracting three aspects, the robustness, anti attack and concealment of these algorithms are compared according to the actual test parameters. Simultaneous measurement of various watermarking algorithm data capacity, and part of the algorithm flaws given suggestions for improvement.The test of robustness is mainly JPEG compression, rotation, clipping and other operations on the image after the watermark, and observe whether the extracted watermark image is being destroyed, and with the practical data, said the damage degree, carries on the contrast analysis. The measurement of the data capacity of different watermarking algorithms is mainly through calculating the size of the watermark image which can be embedded in the same original image, and measuring the amount of the watermark image data to achieve.KeywordsDigital Watermarking; Wavelet Transform; Discrete Cosine Transform; Singular Value Decomposition; Matlab目 录摘要IAbstractII目录III第1章 绪论11.1 课题研究背景11.2 数字水印的应用21.3 数字水印研究现状41.3.1 发展现状41.3.2 算法现状41.4 本文主要研究容5第2章 离散小波变换和奇异值分解的研究综述62.1 引言62.2 离散小波变换62.3 奇异值分解7第3章 基于SVD和Radon变换的抗旋转攻击盲水印算法的分析83.1 算法主体83.1.1 嵌入前的水印图像置乱83.1.2 水印嵌入过程93.1.3 水印提取103.2 算法仿真实验113.3 算法性能分析14第4章 一种用哈达玛矩阵进行置乱变换的盲水印算法的分析154.1 算法主体154.1.1 嵌入前的水印图像置乱154.1.2 水印嵌入过程164.1.3 水印提取164.2 算法仿真实验174.3 算法性能分析21第5章 一种新的小波域盲水印算法的分析225.1 算法主体225.1.1 嵌入前的水印图像置乱225.1.2 水印嵌入过程225.1.3 水印提取245.2 算法仿真实验255.3 算法性能分析28第6章 基于子块区域分割和自嵌入技术的全盲多功能图像水印算法的分析296.1 算法主体296.1.1 水印生成306.1.2 水印置乱306.1.3 水印嵌入过程316.1.4 水印提取326.2 算法仿真实验326.3 算法性能分析35第7章 算法参数对比367.1 参数对比36结论37参考文献39致40附录41第1章 绪论1.1 课题研究背景多媒体存储和传输技术随着数字信息技术的高速发展和计算机通信技术的不断革新而不断进步,这也使得数字化的信息的存储和传输变得更加快速、精确、方便,各种形式的多媒体数字作品特别是图像作品、视频作品、音频作品纷纷在网络上发表然而数字信息技术精准、大批量的复制功能和互联网强大的信息传递能力帮助人们实现信息共享的同时也带来了各种各样的问题由于多媒体数字作品的复制品和原件近乎完全一致,而且复制起来非常容易,因此有的个人或团体在没有得到作品的作者和所有者的授权的情况下对有的容进行恶意的复制、传播和修改,甚至非法地将其用于商业用途,使作者与所有者的利益受到严重的侵犯,目前这种作品侵权现象正不断加剧因此,数字化作品的知识产权保护问题引起了计算机科学界的广泛重视,并且已经成为目前的一个研究热点以前主要是将多媒体数据文件加密成密文后发布,即通过数据加密技术来实现保护,使得密文中有用的数据信息在网络中传递时不能被出现的非法攻击者截获,从而实现和信息安全的保护但通常的加密技术并不能很好地解决保护问题,仅仅只能预防,这是因为:(1)无法监控多媒体信息的流动传播情况;(2)加密大批量的多媒体信息时,资源占用严重,且效率低下(3)多媒体信息加密后隐蔽性不高,容易引起攻击者的注意和好奇,激发他们解密的兴趣和欲望(4)加密的鲁棒性不高,如果破解失败,攻击者可以将信息破坏,使得合法接收者也无法获得信息的容;(5)只有在加密状态下才能保护多媒体信息,解密后发生侵权时,无法提供有效的法律证据;(6)加密会改变作品的形态,加密后只有少数持有解密密钥的人,才能获得作品数据,作者无法在保护的前提下自由地展示作品为了使解密后的容仍能受到保护,人们开始寻求另一种能够弥补密码技术缺陷的技术数字水印技术是一种密码技术的补充技术,是由信息隐藏技术发展而来,是数字信号处理,图像处理,密码学应用,算法设计等学科的交叉领域,是一门新兴的信息安全技术这种技术可以为解密后的数据提供进一步的保护,因此能够弥补密码技术的缺陷;另一方面,数字水印技术可以在原始数据中一次性嵌入大量的秘密信息,这也弥补了数字签名技术的缺陷数字水印的过程就是将一个有标志性的信息嵌入到需要保护的信息中的过程,这个标志性信息就是水印只有通过专用的浏览器或阅读器才能提取出嵌入的水印,受到保护的媒体信息的归属可以通过这种机制获得判断依据嵌入的水印具有鲁棒性,即媒体信息中嵌入的水印不会被常规的数据处理操作完全去除在信息技术高速发展的当代,数字产品呈现爆炸式的增长速度,在这个前提下,保护数字产品作者的,防止数字产品的非法复制、恶意篡改等就变得尤为重要数字水印技术正是在这样的背景下发展起来的技术由于数字水印技术有着广泛的应用前景,大量专家学者在进行这方面的研究,提出的水印算法也多种多样但这些算法的性能各有优劣,不同的应用环境需要不同特性的水印算法,而且具有同一特性的水印算法亦各有优劣因此,研究各类算法的特性,以与比较这些算法的优劣,就变得尤为重要对这些算法进行研究,找出算法的优缺点,明确算法的适用环境,也是水印技术的一个重要研究方向1.2 数字水印的应用随着数字水印技术的发展,该技术已经成为信息隐藏技术的一个重要分支,其应用领域也越来越广泛,目前数字水印技术的应用领域主要包括:1. 保护数字作品(如电脑美术、扫描图像、数字音乐、视频、三维动画)的保护是当前的热点问题由于数字作品的拷贝、修改非常容易,而且可以做到与原作完全一样,所以所有者不得不加上肉眼可见的标志以保护,但这种做法严重损害作品的质量且这种标志很容易被篡改数字水印技术利用数据隐藏原理隐藏标志,能在不损害原作品的前提下保护目前,数字水印技术在保护方面的研究已经达到初步实用化标准,但市场上的数字水印产品还是很容易被破坏或破解,这是因为技术的发展还不够成熟,还要走很长的路才能做到真正的实用2. 数字信息的隐藏标识和篡改提示数据的标识信息有时比数据本身更具有价值,数字水印技术能够隐藏标识,使得原始文件上的标识信息只有使用特殊的阅读程序才能提取,目前国外一些公开的遥感图像数据库已经采用这种方法现有的信号拼接技术和信息镶嵌技术能够实现无痕拼接,达到肉眼难以分辨的程度,只有通过数据的篡改提示才能识别因此,数据的篡改提示也是一项很重要的工作,而数字水印技术能够通过辨识隐藏水印的状态判断数字信息是否被篡改3. 隐蔽通信与其对抗在网络通信战中攻击者往往会注意到经过加密的混乱无序的文件,因此数字水印的隐蔽性也有了用武之地,利用数字化声像信号相对于人的视觉、听觉冗余来进行各种时空域和变换域的信息隐藏,可以达到隐蔽通信的目的4. 商务交易中的票据防伪各种电子票据即使在网络安全技术成熟以后也还需要一些非密码的认证方式,数字水印技术能够通过嵌入隐藏的认证标志增加伪造的难度5. 证件真伪鉴别水印技术对于有效辨别证件的真伪很有帮助,特别是能够防止证件的仿制和复制1.3 数字水印研究现状1.3.1 发展现状在互联网和信息技术高速发展的今天,水印技术的研究更具有现实意义但是数字水印技术的研究目前还很不成熟,在保护方面只能初步从理论转为应用,而且应用过程中还有大量没有解决的问题目前有关数字水印的设计和模拟攻击的理论都很缺乏因此,在国际学术界的研究方向中,数字水印技术是比较前沿热门的,对该技术的研究还有很长的路要走水印技术的研究在保护和商业应用方面都具有重要的意义和广阔的前景,这一研究方向已经引起了国外专家和商业团体的广泛关注1.3.2 算法现状随着数字水印技术的不断发展,各类文献中提出的水印算法也五花八门,这些算法大都是研究数字水印的产生、嵌入和检测(提取)三个方面在生成数字水印时,许多数字水印算法采用如Gaussian序列、二进制序列和均匀分布序列的伪随机序列作为水印信号在伪随机序列中,Gaussian分布的随机序列与其它分布的等长的随机序列相比具有更大的自相关系数,所以利用Gaussian随机序列产生的水印具有更好的稳健性在讨论伪随机序列水印的同时,有意义水印的研究引起了人们的注意,已有一些算法采用有意义的文字串或一个图像(如商标、印签等)作为水印信号这种有意义的信号与无意义的伪随机序列相比,所具有的优点是不言而喻的因此,如何在图像中嵌入有意义的信息将是极具实际价值的研究容早期的研究主要集中在空域上,水印信息直接加载在图像数据上,这种方法的缺点是抵抗图像几何变形、噪声和图像压缩1的能力较差但是空域算法的计算速度快,而且隐藏的信息量大近期的研究则主要集中在变换域如离散傅立叶变换DFT2,离散余弦变换DCT3,离散小波变换DWT3中实现在变换域中嵌入水印,信号能量可以扩展到空间域所有像素上,有利于保证水印的不可见性,同时变换域的方法可以与现有的数据压缩标准兼容,例如,基于DCT的方法可以与JPEG压缩方法兼容,基于DWT的方法可以与JPEG2000兼容等等从目前的情况看,大多数研究工作更关注变换域算法研究根据水印系统的载体媒体的不同有图像水印算法、音频水印算法、视频水印算法、文本水印算法几大类在图像水印算法中,又有灰度图像水印和彩色图像水印3根据水印的应用目的,有些水印主要应用于保护,身份验证,这种应用要求水印需要有较强的鲁棒性,即鲁棒性水印4,有些水印主要应用于数据的完整性检测5,以验证载体作品是否被篡改,这种应用要求水印需要有较强的敏感性,则我们就应嵌入脆弱性水印6在很多的研究中,那些算法都是基于鲁棒性的算法,但也有许多研究工作者对脆弱性水印进行了研究1.4 本文主要研究容由于各类文献的水印算法层出不穷,但算法的性能却良莠不齐,对水印算法性能与特性的分析研究也显得愈发重要本文的研究工作主要是对选定的几种水印算法的性能与特性进行分析评估,从而了解它们的优缺点,找出它们的适用环境,并对其中部分算法的瑕疵给出适当的改进建议本文的结构如下:第1章为绪论简单介绍数字水印技术的研究背景、应用与研究现状;第2章对数字水印技术中的常用技术离散小波变换7和奇异值分解7进行了全面的介绍,详细描述了它们的概念、算法和特点8;第3章至第6章的每一章都介绍了一种文献中的算法,并对算法进行了仿真实验和简单的性质分析9第7章以表格列出了第3章至第6章的四种算法的仿真实验的结果,并对列出的参数进行了简单的对比最后为结论,对本文中提到的四种算法的数据容量、隐蔽性、鲁棒性和安全性以与适用领域进行了分析和总结第2章 离散小波变换和奇异值分解的研究综述2.1 引言在本章中,介绍了基于离散小波变换(DWT)和一种叫做奇异值分解的广泛用于分析信号处理应用像是数字水印,人脸识别,指纹识别等的数值技术2.2 离散小波变换1945年由Gabor提出了小波理论的基本思想,小波理论的基本思想是根据比例和时间来分析一个信号傅立叶变换能识别信号中存在的所有频谱分量,但傅立叶变换的主要缺点是,它不提供相关组成部分的时间定位的任何信息小波使我们能够在空间和时间域分解图像二维的小波变换可以被表示为一个二维尺度函数和三个二维小波函数,一个尺寸的图像的离散小波变换定义为:(2-1)(2-2)其中,是一个任意值在值域定义了一个的低频系数,在值域定义了水平,垂直和倾斜细节在离散小波变换的帮助下,可以将图像分解为4个叫做低频子带的子带和属于三个不同位置的高频子带低频子带包含了图像的均值信息和最大能量,而高频子带包含了图像的细节相对高频子带代表最优尺度的小波系数,低频子带表示的是粗略等级的小波系数为了得到更高的鲁棒性,在本文提出的水印方案中选择了低频子带,因为高频子带对图像处理操作没有表现出抵抗力离散小波变换的主要特征源于在对数刻度上恒定带宽的频率信道中的图像的分解的多尺度的分析2.3奇异值分解奇异值分解是一种线性代数中分析矩阵的重要技术,被应用于许多图像处理应用中,像是图像压缩,人脸识别,图像放大,水印等奇异值分解把一个大小为的矩阵分解为三个矩阵,分别是U,S和V例如:(2-3)这里大小为的U和大小为的V都是单位正交矩阵,也就是每一列的平方和都一致并且所有列都是不相关的,S是一个大小为的正交矩阵,因此是一个构成规正交基的列向量,即(2-4)同样的,V是一个大小为的正交矩阵,因此是一个构成规正交基的列向量,即(2-5)S是一个大小为的对角矩阵,它的对角线元素是按降序排列的代表图像亮度的奇异值,U,V部分叫做A的左右奇异向量,的特征向量指定了图像的几何学结构由于一些系数里的酉元,常态正交和能量留存特性,使得奇异值分解在图像处理分析上做出重大转变第3章 基于SVD和Radon变换的抗旋转攻击盲水印算法的分析3.1 算法主体3.1.1 嵌入前的水印图像置乱在水印图像嵌入之前,为了增强水印图像的安全性,该算法对水印图像进行置乱处理该算法采用的是仿射变换对水印图像进行置乱,因为仿射变换的算法复杂度相较于猫脸变换、排列变换、Fibonacci变换更低一些,而且该变换的逆变换更易求出仿射变换的一般形式为:(3-1)其矩阵形式为:(3-2)其中,为原始像素坐标,为变换后的像素坐标,为仿射变换的参数系数当水印图像矩阵的大小为时,该算法采用的仿射变换为:(1)正变换:当时:(3-3)当时:(3-4)(2)逆变换:当时:(3-5)当时:(3-6)置乱效果如图3-1到图3-8所示图3-1 原始水印图3-2 一次置乱图3-3 二次置乱图3-4 三次置乱图3-5 四次置乱图3-6 五次置乱图3-7 六次置乱图3-8 七次置乱3.1.2 水印嵌入过程1. 对载体图像矩阵做小波变换,得到载体图像的低频子带、水平细节子带、垂直细节子带、对角线细节子带,公式为(3-7)2. 对前一步骤得到的低频子带进行奇异值分解,得到奇异值矩阵,公式为(3-8)3. 使用奇偶量化法进行水印的嵌入操作,对奇异值矩阵进行量化生成新的矩阵,量化方法为(3-9)其中为matlab中的四舍五入取整函数,为人工预设的量化步长,为对应矩阵中元素的坐标设置乱后的水印图像矩阵为,当为奇数时:(3-10)当为偶数时:(3-11)由此得到新的量化矩阵4. 对进行奇异值分解,公式为(3-12)从而可得嵌入水印后的新低频子带矩阵(3-13)5. 用代替做逆小波变换,得到嵌入水印后的图像矩阵,公式为(3-14)3.1.3 水印提取1. 对水印后的图像矩阵做小波变换,得到含水印的低频子带、水平细节子带、垂直细节子带、对角线细节子带,公式为(3-15)2. 对前一步骤得到的低频子带进行奇异值分解,得到奇异值矩阵,公式为(3-16)3. 结合保存的密钥和重新合成(3-17)4. 对进行量化,生成量化矩阵,提取出置乱后的水印矩阵,量化方法为(3-18)当为奇数时,当为偶数时,从而生成置乱后的水印矩阵5. 对矩阵进行逆仿射变换,生成最终提取出的水印矩阵,逆仿射变换的方法已在前文给出3.2 算法仿真实验本次仿真实验选取的载体图像为512512像素的灰度图像,选取的水印图像为256256的二值图像,设置水印置乱次数为5,量化步长为9,水印检测阀值T为150其中阀值T的计算方法为,对提取的水印图像与原始水印图像的每个像素点作差,再求差的绝对值的和,公式如下:(3-19)仿真结果如图3-9到图3-34所示图3-9 原始载体图像图3-10 嵌入水印后图像图3-11 原始水印图3-12 正常提取的水印,T=0图3-13 高斯噪声攻击图3-14 泊松噪声攻击图3-15 高斯噪声后提取的水印,T=16344图3-16 泊松噪声后提取的水印,T=1042图3-17 椒盐噪声图3-18 斑点噪声图3-19 椒盐噪声后提取的水印,T=26926图3-20 斑点噪声后提取的水印,T=29546图3-21 裁剪攻击图3-22 12位JPEG压缩攻击图3-23 裁剪后提取的水印,T=150图3-22 12位JPEG压缩后提取的水印,T=324图3-25 右下平移100像素攻击图3-26 33小分块的中值滤波攻击图3-27 右下平移后提取的水印,T=477图3-28 中值滤波后提取的水印,T=137图3-29 0.2像素值的高斯滤波攻击图3-30 30度旋转攻击图3-31 高斯滤波后提取的水印,T=0图3-32 30度旋转后提取的水印,T=141图3-33 锐化攻击图3-34 锐化后提取的水印,T=31483.3 算法性能分析上一小节只列出了仿真实验过程中的部分结果,通过对更多次的仿真实验的结果进行分析,发现该算法的量化步长不小于9时才能提取出无损的水印图像,同时水印置乱次数越多,受损的水印图像的损坏点分布就越均匀对上一小节的仿真结果进行观察分析可以发现,该水印算法的隐蔽性较强,水印前后载体图像的视觉效果几乎没有改变,同时该算法对大部分的常规图像处理操作如裁剪、JPEG压缩、位移、中值滤波、高斯滤波、旋转、锐化都有较高的鲁棒性,但在多种噪声攻击中,只对泊松噪声攻击有较高的鲁棒性第4章 一种用哈达玛矩阵进行置乱变换的盲水印算法的分析4.1 算法主体4.1.1 嵌入前的水印图像置乱该算法采用的水印图像置乱方法是利用Hadamard矩阵进行置乱,具体方法是使用Hadamard矩阵与水印图像矩阵相乘,这种置乱方法变换的不是水印图像矩阵的像素坐标位置,而是水印图像像素的灰度大小二阶Hadamard矩阵为或,高阶Hadamard矩阵是由迭代生成,迭代公式为(4-1)其中,是的取反置乱步骤为:1. 将二值水印图像矩阵中的0,1映射为1,-1,即先将1全部替换为-1,再将0全部替换为1,得到矩阵2. 对Hadamard矩阵做上下对称变换,得到矩阵,这里的Hadamard矩阵的大小要和水印图像大小一致原算法中是对Hadamard矩阵做行列变换,从而加密Hadamard矩阵,这里采用的是常用变换中的一种3. 将和做乘法运算,得到置乱后的水印图像矩阵,公式如下(4-2)置乱效果如图4-1和4-2所示图4-1 原始水印图4-2 置乱后4.1.2 水印嵌入过程1. 将水印载体图像矩阵分割为多个88的小块2. 对每个小块做同样的处理这里以其中一个小块为例,设为横向第纵向第个小块先对做离散余弦变换得到,然后将水印矩阵的一个像素嵌入到的中频部分,由于的大小为88,故的中频部分为和嵌入方法为,取的第行第列的元素,当=1时,使;当=-1时,使具体计算过程为,当=1时(4-3)当=-1时(4-4)其中为水印嵌入强度3. 对每个嵌入水印后的矩阵进行反离散余弦变换,得到嵌入水印后的小块,将所有的组合起来,就得到了嵌入水印后的图像矩阵4.1.3 水印提取1. 读取含水印图像后,将得到的矩阵分割为多个88的小块2. 对每个小块做同样的处理这里以其中一个小块为例,设为横向第纵向第个小块先对做离散余弦变换得到,当>时,=-1;当<时,=1这样就能提取出置乱后的水印矩阵3. 对做反置乱变换得到提取出的水印矩阵,反置乱的方法为(4-5)其中,为水印置乱时用到的做上下对称变换后的Hadamard矩阵4.2 算法仿真实验本次仿真实验选取的载体图像为512512像素的灰度图像,选取的水印图像为6464的二值图像其中为水印嵌入强度,T为水印检测阀值仿真结果如图4-3到4-36所示图4-3 原始载体图像图4-4 水印嵌入强度为10的图像的部分细节图4-5 原始水印图4-6 n=10时提取的水印,T=25图4-7 水印嵌入强度为30的图像的部分细节图4-8 水印嵌入强度为50的图像的部分细节图4-9 n=30时提取的水印,T=10图4-10 n=50时提取的水印,T=0图4-11 n=10时高斯噪声攻击后的图像图4-12 n=50时高斯噪声攻击后的图像图4-13 高斯噪声攻击后提取的水印图像,n=10,T=1572图4-14 高斯噪声攻击后提取的水印图像,n=50,T=373图4-15 n=50时泊松噪声攻击后的图像图4-16 n=50时椒盐噪声攻击后的图像图4-17 泊松噪声攻击后的提取的水印图像,n=50,T=28图4-18 椒盐噪声攻击后的提取的水印图像,n=50,T=494图4-19 n=50时斑点噪声攻击后的图像图4-20 n=50时裁剪攻击后的图像图4-21 斑点噪声攻击后的提取的水印图像,n=50,T=737图4-22 裁剪攻击后的提取的水印图像,n=50,T=667图4-23 12位JPEG压缩攻击图4-24 右下平移100像素攻击图4-25 12位JPEG压缩攻击后提取的水印,n=50,T=2143图4-26 右下平移100像素攻击后提取的水印,n=50,T=2468图4-27 33小分块的中值滤波攻击图4-28 0.2像素值的高斯滤波攻击图4-29 中值滤波后提取的水印,n=50,T=917图4-30 高斯滤波后提取的水印,n=50,T=0图4-31 30度旋转攻击图4-32 锐化攻击图4-33 旋转后提取的水印,n=50,T=2315图4-34 锐化后提取的水印,n=50,T=16图4-35 放大2倍(缩放)攻击图4-36 缩放后水印同时扩大,无法计算T值,n=504.3 算法性能分析综合分析仿真实验的结果,发现该算法若要提取出T=0的水印,水印的嵌入强度必不能小于50但水印嵌入强度越高,对载体图像的视觉效果的影响就会越严重,水印嵌入的强度不大于10时才能保证不破坏载体图像的视觉效果但是矛盾的是,水印强度不足时,该算法对于常规图像处理攻击的抵抗力十分低该算法只对高斯滤波攻击和锐化攻击有较高的鲁棒性,是一种脆弱性水印第5章 一种新的小波域盲水印算法的分析5.1 算法主体5.1.1 嵌入前的水印图像置乱该算法采用的置乱方法是混沌序列映射置乱,置乱步骤如下:1. 设置初始值,使0<<1,3.6<<4,通过迭代产生混沌序列,是一个一维数组,其长度等于水印图像的像素个数迭代公式为(5-1)产生的都放进数组中,直到的长度等于水印图像的像素个数2. 按列扫描水印图像矩阵,将二维的水印图像矩阵转换为一维的数组3. 对中的元素进行升序排序,在排序过程中记录元素位置的变化4. 按照上一步记录的位置变化,对一维水印序列做同样的变化,得到置乱后的一维水印序列5. 根据水印图像的行列数,扫描,生成置乱后的二维水印图像矩阵这里第5步是为了更好的展示置乱效果,在实际的水印嵌入过程中是不必要的置乱效果如图5-1到5-3所示图5-1 原始水印图5-2 =0.2,u=3.8时置乱图5-3 =0.5,u=3.9时置乱5.1.2 水印嵌入过程1. 使用小波变换求水印图像矩阵的近似子带,公式为(5-2)2. 求的边缘点,并获取阀值P,这里原作者的方法并不实用,本文提出了改进方案(1)原作者将分成很多22大小的小分块,计算这些小块的灰度均值,若均值为0,认为该小块含有边缘点选择灰度均值大于P且不含边缘点的子块作为水印嵌入的对象,其中P是人工规定的阀值(2)本文改进利用matlab工具箱中的edge函数求的边缘点矩阵,这是为了在水印嵌入时避开图像的边缘点,以免破坏载体图像的视觉质量这里的是一个二值矩阵,在边缘点处的值为1,非边缘点处的值为0将分成很多22大小的小分块,求每个小分块的灰度值之和,若值大于0,说明这一小分块含有边缘点,舍弃该小分块,否则将该小分块的灰度矩阵加入序列中,并将该小分块在中的坐标信息加入序列中将序列中的小分块按照灰度均值大小降序排序,序列中的坐标信息也进行同步位移选择排序后的序列中的前个元素,从而得到要嵌入水印的小分块的坐标信息序列,这里的是水印图像矩阵的元素个数,作为密钥之一保存3. 根据中的坐标信息嵌入水印,这里以中的第个坐标为例,这组坐标在中对应的小分块包含四个像素点,嵌入方法为(5-3)(5-4)(5-5)这里为预设值,当嵌入的水印图像为二值图像时最好取不小于15的较大值,当嵌入的水印图像为灰度图像时最好取不大于0.18的较小值;则为水印图像矩阵的灰度均值4. 遍历序列中的坐标,对每个选中的嵌入小分块进行嵌入操作后,得到嵌入水印后的新近似子带用代替进行逆小波变换后得到嵌入水印后的载体图像矩阵,公式为(5-6)5.1.3 水印提取1. 对水印后的图像矩阵做小波变换,得到含水印的近似子带,公式为(5-7)2. 根据保存的密钥,包括,提取置乱后的水印序列,这里以中的第个坐标信息为例,公式如下(5-8)从而得到置乱后的水印序列3. 对上一步提取出的水印序列进行反置乱处理,得到最终提取出的水印图像矩阵,反置乱方法为(1)根据置乱时的初始值,通过迭代产生混沌序列(2)对中的元素进行升序排序,在排序过程中记录元素位置的变化(3)按照上一步记录的位置变化,对提取出的乱序水印序列进行相反的变化,得到反置乱后的一维水印序列(4)根据水印图像的大小,扫描,按列还原出二维的水印图像矩阵,最后将中的元素大于0的变为1,小于0的变为0,得到提取结果5.2 算法仿真实验本次仿真实验选取的载体图像为512512像素的灰度图像,选取的水印图像为6464的二值图像该算法能够嵌入灰度水印图像和二值水印图像,这里只给出粗略的灰度水印图像仿真结果展示,为了方便T值的计算和算法之间的对比,结果展示还是二值图像为主设=0.2,=3.8,嵌入灰度水印图像时取值0.18,嵌入二值水印图像时取值15仿真结果如图5-4到图5-32所示图5-4 原始载体图像图5-5 嵌入灰度水印后图像图5-6 原始灰度水印图5-7 提取出的灰度水印,T=503398图5-8 原始载体图像图5-9 高斯噪声攻击后的图像图5-10 原始二值水印图5-11 高斯噪声后提取的水印图像,T=1365图5-12 泊松噪声攻击后的图像图5-13 椒盐噪声攻击后的图像图5-14 泊松噪声攻击后提取的水印图像,T=998图5-15 椒盐噪声攻击后提取的水印图像,T=588图5-16 斑点噪声攻击后的图像图5-17 裁剪攻击后的图像图5-18 斑点噪声后提取的水印图像,T=1766图5-19 裁剪攻击后提取的水印图像,T=281图5-20 12位JPEG压缩攻击后的图像图5-21 右下平移100像素后的图像图5-22 12位JPEG压缩攻击后提取的水印图像,T=1154图5-23 右下平移100像素后提取的水印图像,T=1272图5-24 33小分块的中值滤波后的图像图5-25 0.2像素值的高斯滤波后的图像图5-26 33小分块的中值滤波后提取的水印图像,T=655图5-27 0.2像素值的高斯滤波后提取的水印图像,T=1图5-29 30度旋转后的图像图5-30 锐化后的图像图5-31 30度旋转后提取的水印图像,T=1334图5-32 锐化后提取的水印图像,T=905.3 算法性能分析综合分析仿真实验的结果,该算法的鲁棒性较弱,对泊松噪声攻击、椒盐噪声攻击、裁剪攻击、滤波攻击和锐化攻击的鲁棒性相对好一些算法的优点在于能够嵌入灰度图像水印,使得该算法的水印数据容量较大,而且提取水印所需的密钥较多,性较高综上所述,该算法的应用方向最好是用于数据的加密传递,即用于网络信息战观察可知,提取出的水印图像的损坏情况与载体图像的受攻击情况相关度不高,所以该算法不适用于图像篡改检测,而且由于鲁棒性不高,该算法也不适用于保护第6章 基于子块区域分割和自嵌入技术的全盲多功能图像水印算法的分析6.1 算法主体该算法的主体思想是根据载体图像生成水印,再将水印嵌入载体图像,简略步骤为:1. 将载体图像分为多个不重叠的小分块2. 对每个小分块做离散余弦变换3. 将每个离散余弦变换后的小分块分为区域1和区域2两部分,如图6-1所示4. 从区域1获得水印信息,嵌入到区域25. 对每个嵌入结束的小分块做逆离散余弦变换6. 重新组合小分块,生成嵌入水印后的图像图6-1 拆分方法6.1.1 水印生成该算法的水印信息并不是来自于图像矩阵,而是通过对载体图像的处理产生的特征水印,即原始水印信息来自于载体图像信息,所以叫做特征水印水印的生成方法如下1. 将载体图像分为多个不重叠的小分块2. 对每个小分块做同样的处理,这里以其中的一个小分块为例,对进行离散余弦变换后生成新的矩阵,取的前行列的元素,得到的子矩阵,然后对进行奇异值分解得到奇异值序列,最后求该奇异值序列的均值3. 执行上一步后将会得到一个二维的均值矩阵,矩阵的每个均值对应一个小分块判断均值矩阵中的每个均值的最高位数的奇偶性,生成特征水印矩阵若均值的最高位数为奇数,水印矩阵对应的值为1,若均值的最高位数为偶数,水印矩阵对应的值为0例如,若均值矩阵中的第行第列的均值的最高位数为5,则水印矩阵中第行第列的值为1,若均值矩阵中的第行第列的均值的最高位数为2,则水印矩阵中第行第列的值为0最终生成的特征水印矩阵是一个二维的二值矩阵,它的元素个数等于小分块个数6.1.2 水印置乱该算法采用的置乱方法是混沌映射置乱,置乱方法如下:1. 设定初始值和分支参数,利用公式迭代生成混沌序列,公式为(6-1)2. 混沌序列中最初的随机数一般不稳定,所以舍弃生成的混沌序列的前个值,然后从混沌序列中截取出与水印矩阵的元素个数等量的随机数,这些随机数记为序列3. 用对水印矩阵加密,生成加密后的水印矩阵加密方法为,先按列扫描特征水印矩阵,生成一维水印序列;然后将与的对应元素做异或运算,生成新的一维序列;最后将还原为二维矩阵,这个矩阵就是公式为(6-2)置乱效果如图6-2到图6-3所示图6-2 原始水印图6-3 置乱后6.1.3 水印嵌入过程1. 将载体图像分为多个不重叠的小分块2. 对每个小分块做同样的操作,以其中一个小分块为例,对进行离散余弦变换生成矩阵,设水印嵌入强度为当=0且时,进行如下运算(6-3)当=1且时,进行如下运算(6-4)然后对进行反离散余弦变换,得到含有水印信息的小分块3. 执行完上一步之后,将得到的多个矩阵进行重组,得到嵌入水印后