OpenCV学习——基本操作之图像的算术操作

图像的加法

将两幅图像相加可以使用 OpenCV的 cv2.add() 函数,或简单的通过numpy操作添加两个图像,如 res=img1+img2
相加的两个图像应该具有 相同的大小和类型 ,或者第二个图像可以是标量值。
OpenCV加法和Numpy加法之间 存在差异。OpenCV的加法是饱和操作,Numpy的加法是模运算。

差异解释:

x=np.uint2([250])
y=np.uint8([10])

print(cv2.add(x, y))        #250+10=260=>255    OpenCV加法    饱和操作

print(x+y)                #250+10=260%256=4    Numpy加法    模运算
在对两幅图像进行加法时, OpenCV的结果会更好一点,所以 尽量使用 OpenCV中的函数

图像的混合

图像的混合其实也是加法,但是不同的是两幅图像的 权重不同,这就会给人一种混合或者透明的感觉。图像混合的计算公式为:
g(x)=(1-a)*f0(x)+a*f1(x) 
通过修改 a的值(0-1),可以实现不同的混合效果。
函数 cv2.addWeighted()可以按下面的公式对图片进行混合操作:
dst=a*img1+b*img2+c    #这里c取0
图像混合函数: cv2.addWeighted()
函数原型: cv2.addWeighted(src1,alpha,src2,beta,c)
src1,src2 :需要混合的两幅图像
a lpha,beta:权重,相加为 1
c:亮度调节量,一定要写,可以写0,即不调节亮度。

你可能感兴趣的:(OpenCV,opencv,计算机视觉,python)