zoukankan      html  css  js  c++  java
  • 伽马校正 Gamma Correction

    一. 伽马校正简介:

            伽马校正用来对照相机等电子设备传感器的非线性光电转换特性进行校正。如果图像原样显示在显示器等上,画面就会显得很暗。伽马校正通过预先增大 RGB 的值来排除影响,达到对图像校正的目的。


    伽马校正做了什么 ↑
     

    二. 伽马校正算法:

            非线性变换是由下式引起的,其中I_in和I_out 被归一化,限定在 [0,1] 范围内,c是常数,g为伽马变量,通常取 2.2。


    该式引起非线性变换 ↑
     

            我们只需要进行上面非线性变换的逆变换就可以进行伽马校正了,伽马校正式子如下:


    伽马校正算法 ↑
     

    三. 伽马校正python实现,其中c=1,g=2.2

     1 import cv2
     2 import numpy as np
     3 import matplotlib.pyplot as plt
     4 
     5 # gamma correction
     6 def gamma_correction(img, c=1, g=2.2):
     7     out = img.copy()
     8     out /= 255.
     9     out = (1/c * out) ** (1/g)
    10 
    11     out *= 255
    12     out = out.astype(np.uint8)
    13 
    14     return out
    15 
    16 # Read image
    17 img = cv2.imread("../paojie.jpg").astype(np.float)
    18 # Gammma correction
    19 out = gamma_correction(img)
    20 # Save result
    21 cv2.imshow("result", out)
    22 cv2.imwrite("out.jpg", out)
    23 cv2.waitKey(0)
    24 cv2.destroyAllWindows()

    四. 实验结果:


    原图 ↑
     

    伽马校正后 ↑
     

            说白了,照相机等电子设备传感器在成像时会使得图像变暗,变得不真实,我们采用伽马校正来校正图像,使得图像明亮真实。


    五. 参考内容:

      https://www.jianshu.com/p/933cae73a996

  • 相关阅读:
    ASP计算周开始和一年有多少周及某年第一周开始日期
    http://www.lancen.net/
    JSP的对象
    两个SQL语句
    sql 分頁
    网页特效制作汇总
    存储过程 解密
    一个计算周次和本周时间范围的代码(c#)
    Java试题
    如何在 VS 2005 里调试 Javascript
  • 原文地址:https://www.cnblogs.com/wojianxin/p/12511477.html
Copyright © 2011-2022 走看看