自我记录:Python学习之OpenCV 07 像素的运算

算术运算
,可以利用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.csdn.net/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的效果如下

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值