什么是图像加权和
所谓图像加权和,就是计算两幅图像的像素值之和时,将两幅图像的权重考虑进来,数据公式表示为如下:
dst=saturate(src1a+src2b+y)
OpenCV中提供cv2.addWeighted()函数,来实现图像的加权和,该函数的定义为:
addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)
其中,参数alpha和beta是src1和src2所对应的系数,它们的和可以等于1,也可以不等于1。分别对应数学公式a,b。而gamma对应数学公司y。需要注意的是gamma的值可以是0,但不能省略,是必选参数。
简单的理解就是“图像1系数1+图像2系统2+亮度调节参数”。
玻璃上出现人头
在各大灵异的网站,我们都会见到各种的拍摄图像中出现各种鬼影。当然,博主并不是要说这完全不存在,至于存不存在不在这里的讨论范畴,但是我们可以通过图像加权和给某个图片嵌入人头,造成有鬼影的样子。
上面是两张原始的图像,分别对应上面的src1,src2。叠加实现鬼影效果的具体代码如下所示:
import cv2 img = cv2.imread("2_2.png", 1) head = cv2.imread("2_1.png", 1) print(img.shape, head.shape) head = cv2.addWeighted(img, 1, head, 0.3, 0) cv2.imshow("123", head) cv2.waitKey() cv2.destroyAllWindows()
运行之后,效果如下所示:
当然,这里还是能看到方正的轮廓,后面详细介绍矩阵运算的时候,会更加的完善。现在主要讲些基础的东西,让读者更加的对OpenCV感兴趣。