伽马校正是一种简单而优雅的算法来改变图像亮度。
公式为:
但不幸的是这个算法没有在opencv中实现。
那么在 python 中最简单的方法是如何实现的呢?
使用 LUT 通过开放 CV 进行伽玛校正:
import numpy as np
import cv2
def adjust_gamma(image, gamma=1.0):
# build a lookup table mapping the pixel values [0, 255] to
# their adjusted gamma values
invGamma = 1.0 / gamma
table = np.array([((i / 255.0) ** invGamma) * 255
for i in np.arange(0, 256)]).astype("uint8")
# apply gamma correction using the lookup table
return cv2.LUT(image, table)