函数 cv2.add() 用于图像的加法运算。
函数说明:
cv2.add(src1, src2 [, dst[, mask[, dtype]]) → dst
函数 cv2.add() 对两张相同大小和类型的图像进行加法运算,或对一张图像与一个标量进行加法运算。
对一张图像与一个标量相加时,则将图像所有像素的各通道值分别与标量的各通道值相加。
参数说明:
注意事项:
# 1.23 图像的加法 (与标量相加)
img1 = cv2.imread("../images/imgB1.jpg") # 读取彩色图像(BGR)
img2 = cv2.imread("../images/imgB3.jpg") # 读取彩色图像(BGR)
Value = 100 # 常数
# Scalar = np.array([[50., 100., 150.]]) # 标量
Scalar = np.ones((1, 3), dtype="float") * Value # 标量
imgAddV = cv2.add(img1, Value) # OpenCV 加法: 图像 + 常数
imgAddS = cv2.add(img1, Scalar) # OpenCV 加法: 图像 + 标量
print("Shape of scalar", Scalar)
for i in range(1, 6):
x, y = i*10, i*10
print("(x,y)={},{}, img1:{}, imgAddV:{}, imgAddS:{}"
.format(x,y,img1[x,y],imgAddV[x,y],imgAddS[x,y]))
plt.subplot(131), plt.title("1. img1"), plt.axis('off')
plt.imshow(cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)) # 显示 img1(RGB)
plt.subplot(132), plt.title("2. img + constant"), plt.axis('off')
plt.imshow(cv2.cvtColor(imgAddV, cv2.COLOR_BGR2RGB)) # 显示 imgAddV(RGB)
plt.subplot(133), plt.title("3. img + scalar"), plt.axis('off')
plt.imshow(cv2.cvtColor(imgAddS, cv2.COLOR_BGR2RGB)) # 显示 imgAddS(RGB)
plt.show()
例程说明 1.23:
本例程运行结果如下。
Shape of scalar [[150. 150. 150.]]
(x,y)=10,10, img1:[ 9 9 69], imgAddV:[159 9 69], imgAddS:[159 159 219]
(x,y)=20,20, img1:[ 3 252 255], imgAddV:[153 252 255], imgAddS:[153 255 255]
(x,y)=30,30, img1:[ 1 255 254], imgAddV:[151 255 254], imgAddS:[151 255 255]
(x,y)=40,40, img1:[ 1 255 254], imgAddV:[151 255 254], imgAddS:[151 255 255]
(x,y)=50,50, img1:[ 1 255 255], imgAddV:[151 255 255], imgAddS:[151 255 255]
(本节完)
欢迎关注 『Python小白从零开始 OpenCV 学习课』系列,持续更新
【OpenCV 完整例程】01. 图像的读取(cv2.imread)
【OpenCV 完整例程】02. 图像的保存(cv2.imwrite)
【OpenCV 完整例程】03. 图像的显示(cv2.imshow)
【OpenCV 完整例程】04. 用 matplotlib 显示图像(plt.imshow)
【OpenCV 完整例程】05. 图像的属性(np.shape)
【OpenCV 完整例程】06. 像素的编辑(img.itemset)
【OpenCV 完整例程】07. 图像的创建(np.zeros)
【OpenCV 完整例程】08. 图像的复制(np.copy)
【OpenCV 完整例程】09. 图像的裁剪(cv2.selectROI)
【OpenCV 完整例程】10. 图像的拼接(np.hstack)
【OpenCV 完整例程】11. 图像通道的拆分(cv2.split)
【OpenCV 完整例程】12. 图像通道的合并(cv2.merge)
【OpenCV 完整例程】13. 图像的加法运算(cv2.add)
【OpenCV 完整例程】14. 图像与标量相加(cv2.add)
【OpenCV 完整例程】15. 图像的加权加法(cv2.addWeight)
【OpenCV 完整例程】16. 不同尺寸的图像加法
【OpenCV 完整例程】17. 两张图像的渐变切换
【OpenCV 完整例程】18. 图像的掩模加法
【OpenCV 完整例程】19. 图像的圆形遮罩
【OpenCV 完整例程】20. 图像的按位运算
【OpenCV 完整例程】21. 图像的叠加
【OpenCV 完整例程】22. 图像添加非中文文字
【OpenCV 完整例程】23. 图像添加中文文字