python中的Gamma校正

python中的Gamma校正,python,numpy,opencv,image-processing,opencv-python,Python,Numpy,Opencv,Image Processing,Opencv Python,Gamma校正是一种简单而优雅的改变图像亮度的算法。 公式为: 但不幸的是,这个算法没有在opencv中实现。 那么在python中最简单的方法是什么呢?使用LUT对open CV进行Gamma校正: # import the necessary packages from __future__ import print_function import numpy as np import argparse import cv2 def adjust_gamma(image, gamma=1.

Gamma校正是一种简单而优雅的改变图像亮度的算法。
公式为:

但不幸的是,这个算法没有在opencv中实现。

那么在python中最简单的方法是什么呢?

使用LUT对open CV进行Gamma校正:

# import the necessary packages
from __future__ import print_function
import numpy as np
import argparse
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)