1. 程式人生 > >opencv學習(六):粗略的調整圖片對比度和亮度

opencv學習(六):粗略的調整圖片對比度和亮度

基本原理:兩張圖片合成。

    先按照原來的圖片的格式新建一個色素全為零的圖片,然後按照兩張圖的比例不同合成一張新圖片。主要用到函式:addWeighted函式

# -*- coding=GBK -*-
import cv2 as cv
import numpy as np
 
 
#粗略的調節對比度和亮度
def contrast_brightness_image(src1, a, g):
    h, w, ch = src1.shape#獲取shape的數值,height和width、通道
 
    #新建全零圖片陣列src2,將height和width,型別設定為原圖片的通道型別(色素全為零,輸出為全黑圖片)
    src2 = np.zeros([h, w, ch], src1.dtype)
    dst = cv.addWeighted(src1, a, src2, 1-a, g)#addWeighted函式說明如下
    cv.imshow("con-bri-demo", dst)
 
src = cv.imread("C://1.jpg")
cv.namedWindow("原來", cv.WINDOW_NORMAL)
cv.imshow("原來", src)
contrast_brightness_image(src, 1.2, 10)#第一個1.2為對比度  第二個為亮度數值越大越亮
cv.waitKey(0)
cv.destroyAllWindows()

執行結果如下: