基于DWT与SVD算法的数字图像水印嵌入与提取
数字图像水印技术是一种保护数字媒体版权的重要手段,数字水印可以嵌入到图像中并在不影响原始图像的情况下进行嵌入和提取。本篇文章介绍了一种基于DWT与SVD算法的数字图像水印嵌入与提取方法,并提供了相应的MATLAB源代码。
一、DWT离散小波变换
DWT是将信号进行分解的一种小波变换方法,它使用有限长滤波器和下采样操作来实现连续信号的离散化。其中,小波变换具有良好的时频局部化性质,能够很好地保留信号的时域和频域信息。在数字图像水印中,我们使用DWT对图像进行分解,然后将水印嵌入到某一层分解系数中。
二、SVD奇异值分解
SVD是一种矩阵分解的方法,能够将一个mn的矩阵分解成三个矩阵的乘积:A=US*V’。其中,U和V是正交矩阵,S是对角矩阵,它的对角线上的元素称为奇异值。在图像水印中,我们使用SVD分解对某一层分解系数矩阵进行分解,然后将水印嵌入到其中的奇异值中。
三、水印嵌入与提取流程
- 执行DWT分解,得到分解系数矩阵;
- 对其中某一层分解系数矩阵进行SVD分解,得到U、S和V矩阵;
- 将水印信息转换为二进制序列;
- 将二进制序列嵌入到S矩阵的前k个奇异值中;
- 执行逆SVD分解,得到嵌入水印后的分解系数矩阵;