🍍原文: 基于小波变换的数字水印技术
🍍写在前面: 本文属搬运博客,自己留存学习。
正文
小波变换 把一个信号分解成由基本小波经过移位和缩放后的一系列小波,它是一种 “时间——尺度” 信号的多分辨率分析方法,在时域和频域都具有表征信号局部特征的能力。
小波图像处理 把图像进行多分辨率分解,得到不同空间、频率的子图像,然后对图像的小波系数进行处理。一般而言, 小波变换在信号的高频部分可以获得比较好的时间分辨率,而在信号的低频部分可以获得比较好的频率分辨率,这样就能够有针对性地从信号中提取所需的目标信息。
小波数字水印技术 首先对图像进行小波变换,并对水印信息进行预处理,然后将处理后的水印通过一定的算法嵌入到选定的小波系数中,最后对含有水印的小波系数进行小波逆变换得到含有水印的数字图像。检验和提取的过程正好是以上过程的逆变换。
1 载体图像的小波变换
数字图像经过小波分解后被分割成 4 4 4 个频带:
- 水平方向 ( L H ) \mathsf{(LH)} (LH):表征了图像在水平方向的边缘细节信息;
- 垂直方向 ( H L ) \mathsf{(HL)} (HL):表征了图像在垂直方向的边缘细节信息;
- 对角线方向 ( H H ) \mathsf{(HH)} (HH):表征了图像在对角线方向的边缘细节信息;
- 低频部分 ( L L ) \mathsf{(LL)} (LL)
其中低频部分 ( L L ) \mathsf{(LL)} (LL) 可以继续分解,如图下所示:
说明:1 代表是一级分解得到的,2 代表是二级分解得到的。所谓的二级分解,貌似就是对低频 ( L L ) \mathsf{(LL)} (LL) 子带再次进行了一次小波分解。
图像的能量主要集中于低频 ( L L ) \mathsf{(LL)} (LL) 部分,因此低频 ( L L ) \mathsf{(LL)} (LL) 子带是原始图像的逼近子图,具有较强的抵抗外来影响的能力,稳定性较好。其他三个子带分别表征了,原始图像在水平 ( L H ) \mathsf{(LH)} (LH)、垂直 ( H L ) \mathsf{(HL)} (HL) 和对角线 ( H H ) \mathsf{(HH)} (HH) 部分的边缘细节信息,容易受外来噪声、图像操作等的影响,稳定性较差。
GPT 说:图像的能量通常是指图像中像素值的平方和。在某些应用中,能量可以被理解为图像的粗糙度或者复杂度。
一级分解:
二级分解:
Python 显示灰度图的效果貌似和 Matlab 的效果不一样,白熊的小脸雀黑😇
2 水印图像的预处理
为了保证水印的安全性,在嵌入水印前需要对水印进行加密处理。
置乱预处理 是一种简单常用的加密方法,水印图像置乱可以消除像素间的相关性,从而提高水印的鲁棒性。图像置乱算法有很多,如幻方置乱、Hilbert 置乱、随机数置乱,本文采用