opencv像素运算 使用cv2.addweighted图片亮度和对比度

#算术运算
cv.add(m1,m2)#图像像素相加
cv.subtract(m1,m2)#图像像素相减
cv.multiply(m1,m2)#相乘
cv.divide(m1,m2)#相除


cv.mean(m1)#图像均值 #输出这幅图像 各个通道的的平均值 (107,25,69)
cv.meanStdDev()#方差 #方差越大 图像差异性越大 方差越小图像差异越小 (也可以理解对比度越小)
#如果均值和方差都是零 是无效图像



#逻辑运算
cv.bitwise_and(m1,m2)#与运算
cv.bitwise_or(m1,m2)#或
cv.bitwise_not(m1)#非

cv2.addWeighted:将图片以一定权重相加
这个函数最小需要6个参数。
1、第1个参数,输入图片1,
2、第2个参数,图片1的融合比例
3、第3个参数,输入图片2
4、第4个参数,图片2的融合比例
5、第5个参数,偏差
6、第6个参数,输出图片

import cv2 as cv
import numpy as np


def contrast_brightness_image(image1,ratio,b):
    h,w,ch=image1.shape
    #新建一个一张跟image1图片shape类型和元素类型一样的全黑图片
    image2=np.zeros([h,w,ch],image1.dtype)
    dst=cv.addWeighted(image1,ratio,image2,1-ratio,b)
    cv.imshow('csecond',dst)


src=cv.imread('../image/person.jpg')
cv.imshow('yuantu',src)
#第二个参数是对比度 第三个参数是亮度
contrast_brightness_image(src,0.1,10)
cv.waitKey()
cv.destroyAllWindows()

学习参考文档:https://blog.csdn.net/whl970831/article/details/99691572

发布了50 篇原创文章 · 获赞 1 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/u010708028/article/details/104385571