你可以使用opencv的cv.add()函数把两幅图像相加,或者可以简单的通过numpy操作添加两个图像,如res=img1+img2。两个图像应该具有相同的大小和类型,或者第二个图像可以是标量值。
注意:opencv加法和numpy加法之间存在差异。opencv的加法是饱和操作,而numpy添加是模运算。
参考代码:
>>> x =np.uint8([250])
>>> y =np.uint8([10])
>>> print (cv.add(x,y)) # 250+10=260=>255
[[255]]
>>> print(x+y) #250+10=260%256=4
[4]
这其实也是加法,但是不同的是两幅画的权重不同,这就会给人一种混合或者透明的感觉。图像混合的计算公式:

参考代码:
Import numpy as np
Import cv2 as cv
Import matpiotlib.pyplot as plt
#读取图像
Img1 = cv.imread(“ ”)
Img2 = cv.imread(“ ”)
#图像混合
Img3 = cv.addWeighted(img1,0.7,img2,0.3,0)
#图像显示
Plt.figure(figsize=(8,8))
Plt.imshow(img3[:,:,::-1])
Plt.show()