OpenCV:图像增强(直方图均衡化、Gamma变换)
import cv2
import numpy as np
def hist(img):
b, g, r = cv2.split(img)
img_b = cv2.equalizeHist(b)
img_g = cv2.equalizeHist(g)
img_r = cv2.equalizeHist(r)
img_H = cv2.merge((img_b, img_g, img_r))
cv2.imshow('直方图均衡化', img_H)
def gamma(img, G = 1.0): #G小于1,变暗;大于1,变亮。
labe = []
G = 1.0 / G
for i in range(256):
labe.append(((i / 255) ** G) * 255)
labe = np.array(labe).astype('uint8')
img = cv2.LUT(img, labe)
cv2.imshow('Gamma变换', img)
img = cv2.imread('暗色.jpg')
img = cv2.resize(img, (500, 350)) #将原图调整为w*h=500*350
cv2.imshow('原图', img)
hist(img)
gamma(img, 1.8)
cv2.waitKey(0)
cv2.destroyAllWindows()
https://www.bilibili.com/video/BV1ZS4y1E7UR/?spm_id_from=333.788&vd_source=b89ce2a9b55dab86caa0ee60b66c9f86