伽马曲线
Gamma,汉语音译为“伽马”。
数码图像中的每个像素都有一定的光亮程度,即从黑色(0)到白色(1)。这些像素值就是输入到电脑显示器里面的信息。
基本信息
- 中文名
伽马曲线
- 外文名
Gamma Curve
简介
Gamma,汉语音译为“伽马”。
数码图像中的每个像素都有一定的光亮程度,即从黑色(0)到白色(1)。这些像素值就是输入到电脑显示器里面的信息。但由于技术的限制,纯平(CRT)显示器只能以一种非线性的方式输出这些值,即:输出=输入/伽马。
在不加调整的情况下,多数CRT显示器都有一个2.5的伽马值,它的意义是:假如一个像素的光亮度为0.5,在没有颜色管理应用程序的干预下(*),它在显示器上输出的光亮度只有0.2(0.5/2.5)。对于液晶显示屏(LCD),特别是笔记本电脑的LCD来说,其输出的曲线就更加不规则。一些校准软件或硬件可以让显示屏输出图像时按一定的伽马曲线输出,例如Windows常用的伽马值为2.2,这几乎与人类视觉的反应相反。sRGB和AdobeRGB颜色也是以2.2的伽马值为基础设立的。
Gamma曲线是一种特殊的色调曲线,当Gamma值等于1的时候,曲线为与坐标轴成45°的直线,这个时候表示输入和输出密度相同。高于1的Gamma值将会造成输出暗化,低于1的Gamma值将会造成输出亮化。
在显示器、扫描仪、打印机等输入、输出设备中这是一个相当常见并且比较重要的概念。在计算机系统中,由于显卡或者显示器的原因会出现实际输出的图像在亮度上有偏差,而Gamma曲线矫正就是通过一定的方法来矫正图像的这种偏差的方法。一般情况下,当用于Gamma矫正的值大于1时,图像的高光部分被压缩而暗调部分被扩展,当Gamma矫正的值小于1时,图像的高光部分被扩展而暗调部分被压缩,Gamma矫正一般用于平滑的扩展暗调的细节。
没有经过Gamma矫正的设备会影响最终输出图像的颜色亮度,比如一种颜色由红色和绿色组成,红色的亮度为50%,绿色的亮度为25%,如果一个未经过Gamma矫正的CRT显示器的Gamma值是2.5,那么输出结果的亮度将分别为18%和3%,其亮度大大的降低了。
为了补偿这方面的不足,我们需要使用反效果补偿曲线来让显示器尽可能地输出同输入图像相同的图像,所以这个时候显示器的输入信号应该按照图2所示的曲线进行补偿,这样才能在显示器上得到比较理想的输出结果。
一般的反效果可以直接被赋予存储在帧缓存中的图像,使之Gamma曲线呈非线性,也可以通过RAMDAC进行这种反效果补偿(或者说是Gamma曲线矫正)。这样我们就可以在显示器上看到同我们输入的图像接近的图像了。当然图3所示的曲线只是理想状态下的情况,在实际应用中我们并不可能得到如此完美的曲线,所以不同的厂商之间所竞争的就是谁能做到最接近于这个效果
Gamma校正
RGB值与功率并非简单的线性关系,而是幂函数关系,这个函数的指数称为Gamma值,一般为2.2,而这个换算过程,称为Gamma校正。
为什么显示器要Gamma校正呢?因为人眼对亮度的感知和物理功率不成正比,而是幂函数的关系,这个函数的指数通常为2.2,称为Gamma值。
打个比方,功率为50%的灰色,人眼实际感知亮度为
而人眼认为的50%中灰色,实际功率为
所以RGB中的灰度值,为了考虑到较小的存储范围(0~255)和较平衡的亮暗部比例,所以需要进行Gamma校正,而不是直接对应功率值,因此RGB值RGB颜色值不能简单直接相加,而是必须用2.2次方换算成物理光功率后才能进行下一步计算。这一点在下面的灰度计算公式中就有所体现。
应用
Gamma校正的应用之一,就是明度和灰度计算公式。
RGB明度计算公式:
L取值范围为0~1