可以使用OpenCV的cv.add()函数把两幅图像相加,或者可以通过numpy操作添加两个图像。必须保证两张图片的有相同的大小和类型,可以通过shape去查看两张图片是否相同
注:OpenCV加法和Numpy加法之间存在差异,OpenCV的加法是饱和操作,而Numpy添加是模运算。
图像加法:将两幅图像加载一起
cv.add()
注意:要求两幅图像大小相同。
import cv2 as cv
import matplotlib.pyplot as plt
# 1.读取图像
img1 = cv.imread("1.png")
plt.imshow(img1[:, :, ::-1])
plt.show()
img2 = cv.imread("2.png")
plt.imshow(img2[:, :, ::-1])
plt.show()
print(img1.shape) # 查看图片
print(img2.shape)
# 2.加法操作
img3 = cv.add(img1, img2) # cv中的加法
plt.imshow(img3[:, :, ::-1])
plt.show()
img4 = img1 + img2 # 直接相加
plt.imshow(img4[:, :, ::-1])
plt.show()
# 3. 图像显示
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(10,8), dpi=100)
axes[0].imshow(img3[:, :, ::-1])
axes[0].set_title("cv中的加法")
axes[1].imshow(img4[:, :, ::-1])
axes[1].set_title("直接相加")
plt.show()
原图
相加后: