本文主要是介绍数字图像处理100问—24 伽玛校正(Gamma Correction),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
提示:内容整理自:https://github.com/gzr2017/ImageProcessing100Wen
CV小白从0开始学数字图像处理
24 伽玛校正(Gamma Correction)
这里是一篇写伽马校正比较好的文章
对imori_gamma.jpg
进行伽马校正(c=1,g=2.2)!
伽马校正用来对照相机等电子设备传感器的非线性光电转换特性进行校正。如果图像原样显示在显示器等上,画面就会显得很暗。伽马校正通过预先增大 RGB 的值来排除显示器的影响,达到对图像修正的目的。
由于下式引起非线性变换,在该式中,x被归一化,限定在[0,1]范围内。c是常数,g为伽马变量(通常取2.2):
x' = c * Iin ^ g
因此,使用下面的式子进行伽马校正:
Iout = (1/c * Iin) ^ (1/g)
代码如下:
1.引入库
CV2计算机视觉库
import cv2
import numpy as np
import matplotlib.pyplot as plt
2.读入数据
img = cv2.imread("imori_gamma.jpg").astype(np.float)
3.伽玛校正
c = 1.
g = 2.2out = img.copy()
out /= 255.
out = (1/c * out) ** (1/g)out *= 255
out = out.astype(np.uint8)
4.保存结果
cv2.imshow("result", out)
cv2.waitKey(0)
cv2.imwrite("out.jpg", out)
5.结果
这篇关于数字图像处理100问—24 伽玛校正(Gamma Correction)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!