信息隐藏——扩频水印

扩频水印

【实验目的】:

理解并实现扩频水印。

【实验内容】:

■实现基于DWT的扩频水印嵌入和提取算法

扩频水印嵌入:
对载体图像C进行DWT变换并选择低频系数矩阵
对矩阵做SVD分解得到U,S,V
对水印图像W做直接扩频得到W’(Gold码)
对W’做DWT+SVD得到U’,S’,V’
用U’,V’直接替换U,V
重构载密图像
在这里插入图片描述

扩频水印检测(提取):
对原始载体图像C进行小波变换得到低频系数矩阵
对原始水印图像W进行小波变换得到低频系数矩阵
分别对C和W做SVD得到USV和U’S’V’
重构提取水印W’ = U*S’*V
用Gold码解码得到原始水印图像
计算提取水印的误码率
在这里插入图片描述

【实验分析】:

步骤:
1.根据算法编写代码;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.选择水印图片、载体图片、参数,进行调参,尝试运行代码;
水印图片:
在这里插入图片描述

提取出的水印图片:
在这里插入图片描述
载体图片:
在这里插入图片描述
将水印嵌入R层后得到的图像:
在这里插入图片描述

3.根据运行结果分析参数对结果的影响。
从提取的图片来看,总体的提取还是比较成功的。
那么具体的错误率是多少呢:
在这里插入图片描述

我们使用上图所示的方法计算,即 (矩阵中元素的差的绝对值之和) / (原水印矩阵的元素之和)
结果如下:
在这里插入图片描述
总体来说还可以接受,但还有改进的空间。
使用图片进行水印嵌入,除了选择的水印方法之外,选图和参数也是非常重要的。在这里,ssw.m的最后一个输入参数level决定了小波变换的层数,所获得的错误率并不是线性的,所以很难找到最佳的参数。这里选择的9已经是测试了几次之后获得结果最好的一次,错误率为0.1945。

【实验代码】

information_hidding

猜你喜欢

转载自blog.csdn.net/HizT_1999/article/details/106951537
今日推荐