基于matlab的图像水印算法分析毕业设计论文(编辑修改稿)内容摘要:

任意值.),0 nmW在0j值域内定义了一个)xf的低频系数,),( nji在0jj值域内定义了水平,垂直和倾斜细节. 在离散小波变换的帮助下,可以将图像分 解为 4 个叫做低频子带的子带和属于三个不同位置的高频子带.低频子带包含了图像的均值信息和最大能量,而高频子带包含了图像的细节.相对高频子带代表最优尺度的小波系数,低频子带表示的是粗略等级的小波系数.为了得到更高的鲁棒性,在 本文 提出的水印方案中选择了低频子带,因为高频子带对图像处理操作没有表现出抵抗力. 离散小波变换 的主要特征源于在对数刻度上恒定带宽的频率信道中的图像的分解的多 尺度的分析 . 第 2 章 离散小波变换和奇异值分解的研究综述 7 奇异值分解 奇异值分解是一种线性代数中分析矩阵的重要技术,被应用于许多图像处理应用中,像是图像压缩,人脸识别,图像 放大,水印等.奇异值分解把一个大小为 NM的矩阵分解为三个矩阵,分别是 U, S 和 V.例如: )(][ AsvdUSV  ( 23) 这里大小为 M的 U和大小为 NN 的 V都是单位正交矩阵,也就是每一列的平方和都一致并且 所有列都是不相关的, S 是一个大小为 NM 的正交矩阵,因此],,[ 121 mrr uuuuu  是一个构成规范正交基的列向量,即 miji jiuu jti ,2,101   ,其中,若,若 ( 24) 同样的, V是一个大小为 NN的正交矩阵,因此 ],,[ 121 nrr vvvvvV  是一个构成规范正交基的列向量,即 niji jivv jti ,2,101   ,其中,若,若 ( 25) S 是一个大小为 NM 的对角矩阵,它的对角线元素是按降序排列的代表图像亮度的奇异值, U, V部分叫做 A 的左右奇异向量,39。 AA的特征向量指定了图像的几何学结构.由于一些系数里的酉 元,常态正交和能量留存特性,使得奇异值分解在图像处理分析上做出重大转变. 东北电力大学本科毕业论文 8 第 3 章 基于 SVD和 Radon变换的抗旋转攻击盲水印算法 的分析 算法主体 嵌入前的水印图像置乱 在水印图像嵌入之前,为了增强水印图像的安全性,该算法对水印图像进行置乱处理.该算法采用的是仿射变换对水印图像进行置乱,因为仿射变换的算法复杂度相较于猫脸变换、排列变换、 Fibonacci 变换更低一些,而且该变换的逆变换更易求出.仿射变换的一般形式为: 0,39。 39。    dc bafbycxy ebyaxx ( 31) 其矩阵形式为:  feyxdc bayx 39。 39。 ( 32) 其中, ),( yx 为原始像素坐标, )39。 ,39。 ( yx 为变换后的像素坐标, fedcba ,, 为仿射变换的参数系数. 当水印图像矩阵的大小为 NN 时,该算法采用的仿射变换为: ( 1) 正变换: 当 yx 时:  NyxNNyxyx ,2,1,1101 1139。 39。     ( 33) 当 yx 时:  NyxNyxyx ,2,1,1101 1139。 39。     ( 34) ( 2)逆 变换: 第 3 章 基于 SVD 和 Radon 变换的抗旋转攻击盲水印算法 的分析 9 当 139。 39。  Nyx 时:  NyxNNyxyx ,2,139。 ,39。 ,2139。 39。 11 10     ( 35) 当 139。 39。  Nyx 时:  NyxNNyxyx ,2,139。 ,39。 ,22 139。 39。 11 10     ( 36) 置乱效果如图 31 到图 38 所示. 图 31 原始水印 图 32 一次置乱 图 33 二次置乱 图 34 三次置乱 图 35 四次置乱 图 36 五次置乱 图 37 六次置乱 图 38 七次置乱 水印嵌入过程 1. 对载体图像 矩阵 cF 做小波变换,得到载体图像的低频子带 cA 、水平细节子带 cB 、垂直细节子带 cC 、对角线细节子带 cD ,公式为 )(2],[ cFdw tcDcCcBcA  ( 37) 2. 对前一步骤得到的低频子带 cA 进行奇异值分解, 得到奇异值矩阵 S ,公式为 cAUSV T ( 38) 3. 使用奇偶量化法进行水印的嵌入操作,对 奇异值矩阵 S 进行量化生成新的矩阵  ,量化方法为 东北电力大学本科毕业论文 10 )/),((),(  yxSrou ndyx  ( 39) 其中 ()round 为 matlab 中的四舍五入取整函数,  为人工预设的量化步长,),( yx 为对应矩阵中元素的坐标 . 设置乱后的水印图像矩阵为 W ,当 ),(),( yxWyx  为奇数时:  )),((),(  yxyxK ( 310) 当 ),(),( yxWyx  为偶数时:  )),((),(  yxyxK ( 311) 由此得到新的量化矩阵 K . 4. 对 K 进行奇异值分解,公式为 KVSU T111 ( 312) 从而可得嵌入水印后的新低频子带矩阵 nA T1VUSnA ( 313) 5. 用 nA代替 cA 做逆小波变换,得到嵌入水印后的图像矩阵 nF ,公式为 ),(2 cDcCcBnAidw tnF  ( 314) 水印提取 1. 对 水印后的 图像 矩阵 nF 做小波变换,得到 含水印 的低频子带 nA、水平细节子带 cB 、垂直细节子带 cC 、对角线细节子带 cD ,公式为 )(2],[ nFdw tcDcCcBnA  ( 315) 2. 对前一步骤得到的低频子带 nA进行奇异值分解, 得到奇异值矩阵 1S ,公式为 nAVUS T1 ( 316) 3. 结合保存的密钥 1U 和 1V 重新合成 K T111 VSUK ( 317) 第 3 章 基于 SVD 和 Radon 变换的抗旋转攻击盲水印算法 的分析 11 4. 对 K 进行量化,生成量化矩阵 39。  ,提取出置乱后的水印矩阵 39。 W ,量化方法为 )/),((),(39。  yxKfloo ryx  ( 318) 当 ),(39。 yx 为奇数时, 1),(39。 yxW ,当 ),(39。 yx 为偶数时, 0),(39。 yxW ,从而生成置乱后的水印矩阵 39。 W . 5. 对矩阵 39。 W 进行逆仿射变换, 生成最终提取出的水印矩阵 1W ,逆仿射变换的方法已在前文给出. 算法仿真实验 本次仿真实验选取的载体图像为 512 512 像素的灰度图像,选取的水印图像为 256256 的二值图像,设置水印置乱次数为 5,量化步长  为 9,水印检测阀值 T 为 150.其中阀值 T 的计算方法为,对提取的水印图像与原始水印图像的每个像素点作差,再求差的绝对值的和,公式如下: }256,2,1{,)),(),(( 1  yxyxWyxWs u mT ( 319) 仿真结果如图 39 到图 334 所示. 图 39 原始载体图像 图 310 嵌入水印后图像 图 311 原始水印 图 312 正常提取的水印, T=0 东北电力大学本科毕业论文 12 图 313 高斯噪声攻击 图 314 泊松噪声攻击 图 315 高斯噪声后提取的水印, T=16344 图 316 泊松噪声后提取的水印, T=1042 图 317 椒盐噪声 图 318 斑点噪声 图 319 椒盐噪声后提取的水印, T=26926 图 320 斑点噪声后提取的水印, T=29546 第 3 章 基于 SVD 和 Radon 变换的抗旋转攻击盲水印算法 的分析 13 图 321 裁剪攻击 图 322 12 位 JPEG 压缩攻击 图 323 裁剪后提取的水印, T=150 图 322 12位 JPEG压缩后提取的水印, T=324 图 325 右下平移 100 像素攻击 图 326 3 3 小分块的中值滤波攻击 图 327 右下平移后提取的水印, T=477 图 328 中值滤波后提取的水印, T=137 东北电力大学本科毕业论文 14 图 329 像素值的高斯滤波攻击 图 330 30 度旋转攻击 图 331 高斯滤波后提取的水印, T=0 图 332 30 度旋转后提取的水印, T=141 图 333 锐化攻击 图 334 锐化后提取的水印, T=3148 算法性能分析 上一小节只列出了仿真实验过程中的部分结果 ,通过对更多次的仿真实验的结果进行分析,发现该算法的量化步长不小于 9 时才能提取出无损的水印图像,同时水印置乱次数越多,受损的水印图像的损坏点分布就越均匀. 对上一小节的仿真结果进行观察分析可以发现,该水印算法的隐蔽性较强,水印前后载体图像的视觉效果几乎没有改变,同时该算法对大部分的常规图像处理操作如裁剪、 JPEG 压缩、位移、中值滤波、高斯滤波、旋转、锐化都有较高的鲁棒性,但在多种噪声攻击中,只对泊松噪声攻击有较高的鲁棒性. 第 4 章 一种用哈达玛矩阵进行置乱变换的盲水印算法 的分析 15 第 4章 一种用哈达玛矩阵进行置乱变换的盲水印算法 的分析 算法主体 嵌入前的水印图像置乱 该算法采用的水印图像置乱方法是利用 Hadamard 矩阵进行置乱,具体方法是使用 Hadamard 矩阵与水印图像矩阵相乘,这种置乱方法变换的不是水印图像矩阵的像素坐标位置,而是水印图像像素的灰度大小. 二阶 Hadamard 矩阵为   11 112H或  10 002H,高阶 Hadamard 矩阵是由迭代生成,迭代公式为  NN NNN HHHHH 2 ( 41) 其中, NH 是 NH 的取反. 置乱步骤为: 1. 将二值水印图像矩阵 W 中的 0, 1 映射为 1, 1,即先将 1 全部替换为 1,再将 0 全部替换为 1,得到矩阵 1W . 2. 对 Hadamard 矩阵做上下对称变换,得到矩阵 H ,这里的 Hadamard 矩阵的大小要和水印图像大小一致.原算法中是对 Hadamard 矩阵做行列变换,从而加密 Hadamard 矩阵,这里采用的是常用变换中的一种. 3. 将 1W 和 H 做乘法运算,得到置乱后的 水印图像矩阵 39。 W ,公式如下 HWW  139。 ( 42) 置乱效果如图 41 和 42 所示. 东北电力大学本科毕业论文 16 图 41 原始水印 图 42 置乱后 水印嵌入过程 1. 将水印载体图像矩阵 F 分割为多个 8 8 的小块. 2. 对每个小块做同样的处理.这里以其中一个小块 K 为例,设 K 为横向第 x纵向第 y 个小块.先对 K 做离散余弦变换得到 1K ,然后将水印矩阵的一个像素嵌入到 1K 的中频部分, 由于 1K 的大小为 8 8,故 1K 的中频部 分为 )2,3(1K 和)3,4(1K . 嵌入方法为,取 39。 W 的第 x 行第 y 列的元素,当 ),(39。 yxW =1 时,使)2,3()3,4( 11 KK  ;当 ),(39。 yxW =1 时,使 )3,4()2,3( 11 KK  . 具体计算 过程 为 , 当),(39。 yxW =1 时 1)2,3()3,4( 11  nKK ( 43) 当 ),(39。 yxW =1 时 1)3,4()2,3( 11  nKK ( 44) 其中 n 为水印嵌入强度. 3. 对每个嵌入水印后的 1K 矩阵进行反离散余弦变换,得到嵌入水印后的小块 39。 K ,将所有的 39。 K 组合起来,就得到了嵌入水印后的图像矩阵 39。 F . 水印提取 1. 读取含水印图像后,将得到的矩阵 3。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。