我们可以改变两张图像的占比,例如第一张图像占比 70%, 第二张图像占比 30%,这个时候 c=0.7×a+0.3×b;如果我们还需要加一个常数 k,那么整个式 子就会变成 c=0.7×a+0.3×b+k。对于这个实现,我们可以利用 cv2.addWeighted 函数,其函数语 法如下。
cv2.addWeighted(src1,alpha,src2,beta,gamma)
其参数分别解释如下。
-
src1:第一张图像。
-
alpha:第一张图像的权重。
-
src2:第二张图像。
-
beta:第二张图像的权重。
-
gamma:附加常数。
示例代码如下。
原始图片:
图片1:

图片2:

python
import cv2
alpha = 0.7
beta = 0.3
gamma = 0
# 读入图片
img1 = cv2.imread('images/rose.jpg')
img2 = cv2.imread('images/panda.jpg')
# 打印图片大小 注意: 图片的大小必须相同
print(img1.shape)
print(img2.shape)
# 参数1:图片1 参数2:alpha 参数3:图片2 参数4:beta 参数5:gamma
result = cv2.addWeighted(img1, alpha, img2, beta, gamma)
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
执行结果:
