伽马校正用来对照相机等电子设备传感器的非线性光电转换特性进行校正。如果图像原样显示在显示器等上,画面就会显得很暗。伽马校正通过预先增大 RGB 的值来排除影响,达到对图像校正的目的。
二. 伽马校正算法:
非线性变换是由下式引起的,其中I_in和I_out 被归一化,限定在 [0,1] 范围内,c是常数,g为伽马变量,通常取 2.2。
我们只需要进行上面非线性变换的逆变换就可以进行伽马校正了,伽马校正式子如下:
三. 伽马校正python实现,其中c=1,g=2.2
import cv2
import numpy as np
import matplotlib.pyplot as plt
# gamma correction
def gamma_correction(img, c=1, g=2.2):
out = img.copy()
out /= 255.
out = (1/c * out) ** (1/g)
out *= 255
out = out.astype(np.uint8)
return out
# Read image
img = cv2.imread("../paojie.jpg").astype(np.float)
# Gammma correction
out = gamma_correction(img)
# Save result
cv2.imshow("result", out)
cv2.imwrite("out.jpg", out)
cv2.waitKey(0)
cv2.destroyAllWindows()
四. 实验结果:
说白了,照相机等电子设备传感器在成像时会使得图像变暗,变得不真实,我们采用伽马校正来校正图像,使得图像明亮真实。
五. 参考内容:
https://www.cnblogs.com/wojianxin/p/12511477.html
https://blog.csdn.net/Ibelievesunshine/article/details/104924723
显示器伽马值是显示器的物理属性,固定的,不变的,不可校正的。显示器伽马在不同的上下文环境中,有不同的含义,一个意思是指显示器的输出图像对输入信号的失真,另一个意思是指这种失真的具体数值。由于显示器伽马和文件伽马是固定不变的,伽马校正过程是校正计算机的系统伽马!,使得显示器伽马、系统伽马、文件伽马三个变换的叠加为1.0,从而使最终显示器的图像和原始场景一样,不存在失真。这就好比密码通信,文件伽马是加密过程,系统伽马和显示器伽马是文件伽马的一种反作用,是解密过程,最后看到的结果和原始信息一样。图像伽马值调整是曲线优化调整,是亮度和对比度的辅助功能,强力伽马优化模式可以对画面进行细微的明暗层次调整,控制整个画面对比度表现,再现立体美影像,此项技术的关键就在于“强力伽马曲线优化模式”,对每一帧画面都进行固定的伽马调整,画面的亮度和对比度得到大大的优化,画质也可以得到了大大的提升。专业上用的比较多,一般用不到。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)