📅  最后修改于: 2023-12-03 14:49:44.153000             🧑  作者: Mango
OpenCV 是一个开源的计算机视觉库,它可以用于许多不同的应用领域,如图像处理、计算机视觉、机器学习等。本文将介绍如何使用 OpenCV 对图像进行算术运算,包括加法和减法。
在 OpenCV 中,可以使用 cv2.add()
函数将两张图像加在一起。具体实现步骤如下:
cv2.add()
函数将两张图像加在一起。import cv2
import numpy as np
# 读入需要加在一起的两张图像
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
# 将图像转换为 numpy 数组
img1 = np.asarray(img1)
img2 = np.asarray(img2)
# 图像加法
result = cv2.add(img1, img2)
# 显示加和图像
cv2.imshow('Result', result)
cv2.waitKey(0)
注:加法运算并不会将两张图像的像素值相加,而是将它们的值相加并截至到图像像素值的最大值。如果超出了最大值,将自动截止到最大值,这意味着如果将两张亮度较高的图像加在一起,结果会更加亮。如果想要避免这种情况,可以使用 cv2.addWeighted()
函数,该函数可以对两张图像进行加权平均。
在 OpenCV 中,可以使用 cv2.subtract()
函数将两张图像相减。具体实现步骤如下:
cv2.subtract()
函数将两张图像相减。import cv2
import numpy as np
# 读入需要相减的两张图像
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
# 将图像转换为 numpy 数组
img1 = np.asarray(img1)
img2 = np.asarray(img2)
# 图像减法
result = cv2.subtract(img1, img2)
# 显示相减图像
cv2.imshow('Result', result)
cv2.waitKey(0)
注:减法运算并不会将两张图像的像素值相减,而是将它们的值相减并截至到图像像素值的最小值。如果超出了最小值,将自动截止到最小值,这意味着如果将一张较暗的图像减去一张亮度较高的图像,结果会更加暗。