zoukankan      html  css  js  c++  java
  • Gamma校正 (Gamma Correction)

    Gamma校正 (Gamma Correction) 

    人类眼球的感光细胞中,在正常的光照环境下(非绝对黑暗和绝对明亮中),对较暗色调之间的差异,比对较亮色调的差异的反应更强烈。这个跟照相机的实际上的光照强度值是不一样的,所以,人类眼球对光强度的反应是非线性的。

    光的物理强度,指的是光源发射光子的数量。为了让显示器的亮度更加适合我们的人眼的感光强度,应该将显示器的配置是非线性的亮度配置。

     

    点线代表线性颜色/亮度值,实线指的是显示器配置的非线性显示曲线。

    所以,颜色在输出到显示器之前,会经过Gamma校正

    Gamma矫正(Gamma Correction)的思路是在最终的颜色输出上应用显示器Gamma的倒数。

    在图片显示之前对其进行gamma校正,然后显示器会对其进行gamma映射,

     = 

    这样的话,显示器显示的图像又变回到跟之前的颜色一样的。

    但我们调解显示器的显示光强度的时候,调解的指数虽然是线性的,但因为其本身的非线性映射,会让我们的人类眼睛得到一种线性变化光强度的感觉。

    Gamma的概念是非线性的,其符合指数定律:

    可以转变为:

     

    其中,r就是gamma值。

    举个例子:其中暗红色(0.5, 0, 0), 经过gamma correction之后变成

    Math.pow((0.5, 0, 0), 1/2.2) = (0.73, 0, 0)

    在很多的计算机显示系统中,图片被gamma=0.45进行编码而被显示器进行gamma=2.2的解码。很多显示系统都使用了sRGB颜色空间,基于gamma2.2的颜色空间被成为是sRGB颜色空间。

  • 相关阅读:
    用laravel写的项目如何布置在虚拟机上
    在Laravel中注册中间件
    ssh出错
    DB2单表导入导出
    DB2 还原数据库
    ssh-keygen 免交互
    DB2 命令
    21个项目玩转深度学习:基于TensorFlow的实践详解06—人脸检测和识别——数据集
    jieba—parallel
    更新数据
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/10461671.html
Copyright © 2011-2022 走看看