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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章