算术运算
,可以利用cv2中的方法进行2张大小,通道相同的图片进行组合
cv2.add (t1,t2)
BGR值相加,比如黑色为(0,0,0),这样相加后黑色就会消失,白色为(255,255,255),相加后值溢出,仍为白色
cv2.subtract(t1,t2)相减
cv2.divide(t1,t2)相除
cv2.multiplyt(t1,t2) 相乘
cv2.mean(t)求均值
cv2.meanStdDev(t1) 求方差
逻辑运算
cv2. bitwise_and (t1,t2) 逻辑与,效果为黑色不变,白色相当于透明
cv2. bitwise_or (t1,t2) 逻辑或,效果为黑色相当于透明,白色不变
cv2. bitwise_not (t1)像素取反
https://blog.youkuaiyun.com/Lily_9/article/details/83143120
亮度和对比度调整
相加方法中两图相加的权重相同,opencv中另有一个方法可以调整权重,利用此方法来修改图片的亮度和对比度
def bright_change(image,c,b):
blank=np.zeros(image.shape,image.dtype) # 创建一张空白图像
src=cv.addWeighted(image,c,blank,1-c,b)
cv.imshow("b",src)
src=cv.imread("./timg.jpg")
bright_change(src,1.2,10)
cv.imshow("yuan",src)
cv.waitKey(0)
cv.destroyAllWindows()
使用了cv.addWeighted方法
cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) → dst
dst = src1 * alpha + src2 * beta + gamma
调整了10个亮度(也就是每个像素增大10),对比度为1.2的效果如下