图像算术运算

1.图像加法
使用cv2.add()将两幅图像进行加法运算,也可以直接使用numpy,res=img1+img2.两幅图像的大小,类型必须一致,或者第二个图像可以是一个简单的标量值。
openCV的加法是一种饱和操作,而numpy的加法是一种模操作。
OpenCV的结果会更好

import cv2
import numpy as np
x=np.uint8([250])
y=np.uint8([10])
print (x+y)
print (cv2.add(x,y))
[4]
[[255]]

2.图像混合
这也是加法,不同的是两幅图像的权重不同,这会给人一种混合或者透明的感觉。
函数cv2.addWeighed()可以按下面的公式对图片进行混合。
例:将两幅图像混合,第一幅权重为0.7.第二幅权重为0.3

import cv2
import numpy as np
img1=cv2.imread('1c.jpg')
img2=cv2.imread('1d.jpg')

dst = cv2.addWeighted(img1,0.7,img2,0.3,0)

cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

3、cvtColor函数
我们生活中大多数看到的彩×××片都是RGB类型,但是在进行图像处理时,需要用到灰度图、二值图、HSV、HSI等颜色制式,opencv提供了cvtColor()函数来实现这些功能。
语法:

img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)

RGB转换格式参数: