一、实验原理
本实验中添加水印的概念其实可以理解为将一张图片中的某个物体或者图案提取出来,然后叠加到另一张图片上。具体的操作思想是通过将原始图片转换成灰度图,并进行二值化处理,去除背景部分,得到一个类似掩膜的图像。然后将这个二值化图像与另一张图片中要添加水印的区域进行“与”运算,使得目标物体的形状出现在要添加水印的区域。最后,将得到的目标物体图像与要添加水印的区域进行相加,就完成了添加水印的操作。这样可以实现将一个图像中的某个物体或图案叠加到另一个图像上,从而实现添加水印的效果。
cv2.bitwise_and(src1, src2, mask=None, dst=None)
功能:用于对两个数组(通常是图像)进行按位与(bitwise AND)操作的函数。
参数:
src1: 第一个输入数组(图像),它可以是单通道或多通道的。
src2: 第二个输入数组(图像),它必须与 src1 有相同的尺寸和类型,或者是可以与 src1 进行广播的数组。
mask: 操作掩码,这是一个可选参数。如果提供,它必须是一个单通道的二进制数组(即只包含 0 和 255 的值)。在运算过程中,只有当掩码对应位置的值为 255 时,src1 和 src2 对应位置的像素才会进行按位与运算;否则,结果数组在该位置的像素值将被设置为 0。
dst: 输出数组,这是一个可选参数。如果提供,运算结果将存储在这个数组中;如果未提供,函数将创建一个新的数组来存储结果。
dst、mask 和输入数组 src1、src2 可以