Gamma校订 (Gamma Correction) 编码
人类眼球的感光细胞中,在正常的光照环境下(非绝对黑暗和绝对明亮中),对较暗色调之间的差别,比对较亮色调的差别的反应更强烈。这个跟照相机的实际上的光照强度值是不同的,因此,人类眼球对光强度的反应是非线性的。spa
光的物理强度,指的是光源发射光子的数量。为了让显示器的亮度更加适合咱们的人眼的感光强度,应该将显示器的配置是非线性的亮度配置。3d
点线表明线性颜色/亮度值,实线指的是显示器配置的非线性显示曲线。blog
因此,颜色在输出到显示器以前,会通过Gamma校订图片
Gamma矫正(Gamma Correction)的思路是在最终的颜色输出上应用显示器Gamma的倒数。io
在图片显示以前对其进行gamma校订,而后显示器会对其进行gamma映射,配置
+
=
im
这样的话,显示器显示的图像又变回到跟以前的颜色同样的。d3
但咱们调解显示器的显示光强度的时候,调解的指数虽然是线性的,但由于其自己的非线性映射,会让咱们的人类眼睛获得一种线性变化光强度的感受。margin
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颜色空间。