栅格数据嵌入不可见水印的方法总结

1.1.1 空间域算法

1.1.1.1     LSB算法(水印容量大,但是很脆弱)

将水印嵌入到到载体图像像素值得最低有效位,也称最不显著位,改变这一位置对载体图像的品质影响最小。

基本步骤:

  1. 将水印的十进制像素值转换为二进制水印数据;
  2. 二进制水印数据中的每一比特信息替换载体数据中的最低有效位。(嵌入水印)
  3. 在含有载体数据中的最低有效位二进制数据转换为十进制像素值,获得水印的图像(提取/检测水印)

1.1.1.2     PatchWork算法(鲁棒性强,水印容量低1bit)

在图像域上通过大量的模式冗余实现数字水印。

嵌入算法:

  1. 随机选择N对像素点(ai,bi);
  2. 使所有像素点ai的亮度平均值增加1;而所有像素点bi的亮度平均值减少1.

1.1.2 变换域的算法

1.1.2.1     DFT(线性变换、正交变换)

1、 数据亮度的调整只会改变DFT序列的首个系数,将水印信息嵌入除第一个系数外的其他序列,对栅格数据亮度的调整处理有抵抗能力

2、 数据的旋转处理改变DFT系数的相位,将水印信息嵌入到DFT系数的幅值中,能抵抗栅格数据的旋转处理

3、 数据的缩放影响DFT系数的幅度,将水印嵌入到DFT系数的相位中,能抵抗栅格数据的缩放处理

1.1.2.2      DCT(正交变换,有很高的数据压缩比)

1、 数据DCT变换后,信息能量集中在低频分量中,将水印嵌入到低频分量中,可抵抗数据压缩的攻击;将水印添加到中频或高频系数中,可抵抗添加噪声的攻击

1.1.2.3      DWT(时间(空间)-频率的局部分析)

将水印通过一定的规则嵌入小波低频分量或中高频分量中,对数据压缩、滤波具有鲁棒性。

原文地址:https://www.cnblogs.com/abella/p/9982777.html