增强亮度的方法
1、梯度直方图均衡
传统的梯度直方图均衡是针对单通道图像的,对于多通道图像的方法有很多。
方法一:转换颜色空间到YCR,然后分离通道,对0通道进行梯度直方图均衡,合并通道,转换回BGR颜色空间
'''
彩色图像梯度直方图
'''
def hisEqulColor(img):
ycrcb = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
channels = cv2.split(ycrcb)
print(len(channels))
cv2.equalizeHist(channels[0], channels[0])
cv2.merge(channels, ycrcb)
cv2.cvtColor(ycrcb, cv2.COLOR_YCR_CB2BGR, img)
return img
效果展示:
调整的亮度有点过了
方法二:使用PIL里面的ImageEnhance.Brightness方法。
'''
利用PIL里的ImageEnhance进行图像亮度调整
'''
from PIL import Image
from PIL import ImageEnhance
def bright(image):
enh_bri = ImageEnhance.Brightness(image)
brightness = 1.5
image_brightened = enh_bri.enhance(brightness)
return image_brightened
效果展示:
效果貌似好一点