在 OpenCV-Python 中,可以使用函数 cv2.add()
、cv2.subtract()
、cv2.multiply()
和 cv2.divide()
来进行图像算术运算。这些函数接受两个输入图像,并对其进行逐像素的运算。
1.图像加法:
OpenCV
是饱和运算(大于255算255),NumPy
是模运算(大于255会与256进行求模)。2.
import numpy as np
import cv2
x = np.uint8([250])
y = np.uint8([10])
print( cv2.add(x,y) ) # 250+10 = 260 => 255
print( x+y ) # 250+10 = 260 % 256 = 4
2. 图像减法:
import cv2
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')
result = cv2.subtract(image1, image2)
cv2.imshow('Subtraction', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
3.图像乘法:
import cv2
import numpy as np
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')
result = cv2.multiply(image1, image2)
cv2.imshow('Multiplication', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
4.图像除法:
import cv2
import numpy as np
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')
result = cv2.divide(image1, image2)
cv2.imshow('Division', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
请确保图像文件存在并替换 'image1.jpg'
和 'image2.jpg'
为实际的图像文件路径。上述示例将显示运算结果窗口,并等待按下任意按键后关闭窗口。
这些函数还可以应用于具有不同尺寸和通道数的图像。在这种情况下,OpenCV-Python 会自动进行广播,以匹配适当的图像维度进行运算。
Lnton羚通是专注于音视频算法、算力、云平台的高科技人工智能企业。 公司基于视频分析技术、视频智能传输技术、远程监测技术以及智能语音融合技术等, 拥有多款可支持ONVIF、RTSP、GB/T28181等多协议、多路数的音视频智能分析服务器/云平台。