当前位置:   article > 正文

显示与图像领域中的Gamma值来源与Gamma校正_显示器gamma

显示器gamma

目录

一、定义:

二、 来源1:CRT显示器的电压与亮度非线性

 三、来源2:人眼对黑白的敏感程度是不一样

 四、sRGB的概念与理解

五、Gamma Space 与 Linear Space

 1:Gamma Space

  2:Linear Space

五、Gamma Correction流程

§ 模拟gamma2.2

§ 数字digital Gamm

一、定义:

(Gamma Correction,伽玛校正):所谓伽玛校正就是对图像的伽玛曲线进行编辑,以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度效果。计算机绘图领域惯以此屏幕输出电压与对应亮度的转换关系曲线,称为伽玛曲线(Gamma Curve)。

二、 来源1CRT显示器的电压与亮度非线性

      在早期的计算机发展史中,我们使用的设备大都是CRT显示器,即阴极射线显像管。阴极射线显像管有一个特点,就是我们输入的电压与得到的亮度不对等,最简单的例子,输入两倍的电压,亮度却没有对应增长为两倍。其关系大致会呈一个幂曲线。

      而历史上最早的显示器(阴极射线管)显示图像的时候,电压增加一倍,亮度并不跟着增加一倍。即输出亮度和电压并不是成线性关系的,而是呈亮度增加量等于电压增加量的2.2次幂的非线性关系:

       2.2也叫做该显示器的Gamma值,现代显示器的Gamma值也都大约是2.2。这种关系意味着当电压线性变化时,相对于真实世界来说,亮度的变化在暗处变换较慢,暗占据的数据范围更广,颜色整体会偏暗。

 三、来源2:人眼对黑白的敏感程度是不一样

        人眼对光强的感知能力并不是线性的——对暗部颜色变化更敏感,但很难识别亮部的颜色差异。如图,在真实世界中(下方),如果光的强度从0.0逐步增加到1.0,那么亮度应该是线性增加的。但是对于人眼来说(上方),感知到的亮度变化却不是线性的,而是在暗的地方有更多的细节。换句话说,我们应该用更大的数据范围来存暗色,用较小的数据范围来存亮色。这就是sRGB格式做的,定义在Gamma0.45空间。而且还有一个好处就是,由于显示器自带Gamma2.2,所以我们不需要额外操作显示器就能显示回正确的颜色。

        胶片在发明和发展的过程中,用化学成像的方式充分模拟了人眼的“非线性感受光的能力”。胶片在其宽容度范围内,对光线强弱变化的反应比较接近人眼,因此胶片经曝光经冲洗获得的相片,我们就认为是“正确和真实”的,因为胶片所拍摄到的画面跟我们看到的差不多。

        CCD、CMOS成像方式是通过像点中的“硅”感受光线的强弱而获得画面。而硅感光是物理成像,它真实地反应光线强度的变化,来多少就输出多少,因此它对光线的反应是线性的。于是,它的伽马跟人眼的伽马就冲突了。看下面这个图:

         这是同一个景物,左边是我们人眼看到的画面,右边是CCD成像的画面。CCD可能更接近真实的世界,因为当时的亮度也许就不高,但对于人眼而言,已经足够把这坨花看得真真切切了。但我们一看CCD出来的东西,哇靠,什么玩意儿啊,整个一废品嘛。但实际上,CCD获得的光线跟人眼获得的光线是一样的,只是反应不同罢了;换句话说,人眼所获得的画面数据,CCD也同样都获取了。那么,要想输出一张“像人眼看到的那样”的画面,只需要调整一下“对光线的反应”就可以了,而“对光线的反应”就是伽马曲线。看下图:

        这就是Gamma值的两种来源所在。以上内容,看完后还是不懂也没关系,可以先死记住以下几个知识点:

  • 显示器的输出在Gamma2.2空间。
  • 伽马校正会将颜色转换到Gamma0.45空间。
  • 伽马校正和显示器输出平衡之后,结果就是Gamma1.0的线性空间。
  • sRGB对应Gamma0.45空间。

 四、sRGB的概念与理解

        人眼对亮度的感知不是线性的,其对较暗区域的变化更加敏感,基于人眼该特点,sRGB标准要求图像(各通道为8bits,最多存储256个亮度值)使用编码伽马,把更多地空间用来存储更多暗部区域,来最大化地利用表示亮度的数据位或带宽。

        SRGB(standard Red Green Blue)是一种语言协议,它提供一种标准方法来定义色彩,让显示、打印和扫描等计算机外部设备与应用软件对于色彩有一个共通的语言。sRGB代表了标准的红、绿、蓝,即CRT显示器、LCD显示器、投影机、打印机以及其他设备中色彩再现所使用的三个基本色素。sRGB的色彩空间基于独立的色彩坐标,可以使色彩在不同的设备使用传输中对应于同一个色彩坐标体系,而不受这些设备各自具有的不同色彩坐标的影响。

    解码gamma-编码gamma”其实是一种理想化的机制,只在所有显示器Gamma值统一的条件下有效。然而现实中每一台显示器的解码Gamma值并不统一,这就会导致同一张图片在不同显示器上看起来不一样。对此,人们提出的解决方案是引入Color Profile(色彩配置文件),你可以把它简单的理解为RGB数值与颜色波长之间的对应关系。图片文件都自带有一个Color Profile,它声明了图片的RGB值对应的波长,显示器接收到这个波长值后,根据显示器自己的Color Profile转换为屏幕输出该特定波长所需的RGB值。

        Color Profile引入“波长”这个量的同时,也包含了Gamma校正。 sRGB是一种最常用的Color Profile,是微软联合惠普等厂商联合制定的色彩标准。我们可以认为sRGB色彩空间就是Gamma色彩空间

、Gamma Space 与 Linear Space

 1:Gamma Space

        观察下图,左边的图片更加接近人眼实际看到的样子,但显示器真正显示出来的却是右边图片的样子。

        为了确保我们看到的图片与显示器显示出来的一样,就需要显示器去进行伽马校正计算来中和抵消输入信号与输出亮度的非线性关系。伽马校正的通用公式,可以表达成:

output = input^y

      当

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码领袖开发者/article/detail/60359
推荐阅读
相关标签