颜色空间

       常见的颜色空间有两种,分别是

Gamma校正

       先做个有趣的对比实验。

       第一步:在PHOTOSHOP中新建一个文件,500*150 / 分辨率75 / 颜色模式RGB 8位 / 背景白色,然后从左(黑)到右(白),水平拉一条渐变,起点终点位于画布左右两端。

gamma.png

       接下来找到明暗的分界线,相信大多数人选择的都是如下图红线位置

gamma2.png

       我们之所以选择这个位置作为明暗的分界线,是因为我们认为红线左面(暗部)和红线右面(亮部)的信息一样多。

       现在打开取色器,取我们认为黑白分界线处的值,得到的是 RGB(128, 128, 128)。对于8位图像,有256个色阶(0~255),128恰好是正中间。

       第二步:既然说了对比试验,就要有对比的对象,在PHOTOSHOP中新建一个文件,500*150 / 分辨率75 / 颜色模式RGB 32位 / 背景白色,然后从左(黑)到右(白),水平拉一条渐变,起点终点位于画布左右两端。

linear.png

       我们都知道明暗分界线是 RGB(128, 128, 128) ,所以在这张图中找到这个位置

linear2.png

       这个位置并不在图像正中间,而是 0.2 左右的位置。而且这个渐变过程很不自然,亮部很多,暗部很少。

       综合上面分析,可以知道:

       8位图为什么出了问题:类对于暗部敏感,我要是把你认为的0.5,记成0.2,那暗部色阶就只有256*0.2=50个左右的色阶来存储暗部,50个左右,明显不够用。而人类对亮部不敏感。以只能把人类认为的明暗分界线就记做0.5,然后去掉一部分感受不明显的亮部色阶,以此换来跟多的暗部色阶存储空间,来适应人类的感受。

       8位图中 0.2 转换到 0.5 的过程,本质上是一个全局提亮的过程,这个过程被称作 Gamma校正

       Gamma校正

Gamma校正的过程

       Gamma校正的方式就是采样时,和输出到显示器给人类看时,对亮度进行的调整.

curve.png

8位图的显示

       经过Gamma校正后,得到了更多的暗部存储空间,牺牲掉了一些不重要的亮部存储空间。它把你认为的0.2通过Gamma校正成了0.5,因为Gamma校正本身是一个非线性的调整过程(观察Gamma曲线图:Gamma为1,即是中间那条直线,表示未校正,那么Gamma为1时,渐变是线性的。其他的不是直线,不是直线你就当他是非线性

       那么问题来了:显示器显示8位图片时,我们已知现在主流显示器的色彩要大于8位,多数都是32位真彩色,那么请问,显示器接受到8位图片存储的0.5时,显示的是32位颜色中(以图2位例)0.5位置的颜色,还是0.2位置的颜色。

       没错,显示器显示的时候也经过了一次Gamma校正,它把0.5又变成了0.2。如果不经过这一步,直接输出0.5,因为显示器是32位的,那么你在屏幕上得到的将是位于图2中间位置的那个颜色,你会说这个显示器有问题,颜色不准确,亮瞎了

Gamma色彩空间与线性色彩空间与渲染

Linear颜色空间

Gamma颜色空间

参考文章

       颜色空间——Gamma与线性颜色空间