python - python中的伽玛校正
问题描述
伽玛校正是一种简单而优雅的算法来改变图像亮度。
公式是:
但不幸的是这个算法在opencv中没有实现。
那么在python中最简单的方法是如何做到的呢?
解决方案
使用 LUT 对开放 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)
推荐阅读
- python - 如何将参数传递给`pymssql`中的`cursor.execute`?
- reactjs - 使用 React Hook,尝试使用 forEach 获取多个数据
- node.js - React.js 是否需要运行 node_modules 文件夹?
- asp.net - 单一解决方案中的核心 Web API 和网站
- angularjs - 如何使用 ng-map 位置为每个位置设置不同的图标
- php - 由于无效的广告 ID,在 Facebook 上创建自定义受众失败
- python-3.x - python中的XlsxWriter在单元格中输入了额外的空格
- firebase - 如何修复 Flutter 中的 firebase_admob 包问题
- javascript - 如何从一组对象过滤一个值创建一个新数组?
- java - 在 JAR 中找不到资源文件