前言
在前面博文讲解位平面分解的时候,我们就提到过可以通过位平面分解的方式给图像添加水印。而数值水印是图片版权用到最多的加密方式。
通过在最低有效位的位平面分解图中隐藏二值图像信息,具有极高的隐蔽性。所以,友情提示各位程序员,不要以为网上的图像可以随便用,现在的加密方式真是让你防不胜防。就算你知道了添加数值谁水印的原理,恐怕也无法找到其哪个是秘密的信息。(尊重版权,不要存在侥幸心理)
数字水印的处理过程
从位平面来看,数字水印的处理过程分为如下几步:
(1)嵌入过程:将载体图像的第0个位平面替换为数字水印信息。
(2)提取过程:将载体图像的最低有效位平面提取出来,得到数字水印信息。
代码实现嵌入与提取数字水印
原理我们都清楚之后,我们可以直接开始编写代码:
import cv2
import numpy as np
img = cv2.imread("4.jpg"