CIE图

CIE图

颜色

颜色是由光映入眼睛我们大脑所产生的一种认知,所以颜色本质上是对光的描述

物理上光具有波的特性,即波长,振幅和相位,其中波长和振幅对我们的感知影响最大

可见光
人眼所能感受的光称为可见光,可见光的波长范围为380-780nm之间

单色光
单一波长产生的光被称为单色光

如果每个颜色能和可见光光谱里的单色光一一对应,那么一切都会变得简单起来,我们只需要400个数字就可以区分所有颜色,然而事实是颜色并不能和单色光一一对应,即有些颜色是无法通过单色光产生,不过幸运的是,我们能看到的所有颜色都可以通过不同的单色光叠加而产生

到这一步虽然我们知道所有颜色都可以通过单色光叠加出来,然而单色光有400种,那我们描述颜色时则需要考虑400个变量相加,这显然是不方便的

并且还有一点需要注意的是,一个颜色也不能唯一的描述成一组单色光的叠加,这就意味如果我们使用400个单色光来描述颜色,那么大部分的组合都是冗余的

那么我们能否找到一组单色光,使得所有颜色都能用这组单色光的叠加组合来描述呢,三原色可以帮我们回答这个问题,不过在继续说三原色之前,先明确一个概念,那就是叠加

显然在我之前的描述中叠加就是将不同的波长光同时映入我们的眼睛,这是符合我们的常识的,然而事实上如果想要三原色能描述所有颜色,这样的叠加是不够的,我们之后会重新提到叠加的意义,不过目前还是回到三原色

想要证明三原色能够表示所有的颜色,只需要证明三原色能够表示所有的单色光即可,而历史上的一个实验–光谱色的色度特性实验,可以给我们回答

光谱色的色度特性实验,这个实验的思想很简单,通过人眼去观察一个单色光和一个由三原色组成的光,如果我们无法分辨就认为这个单色光可以由三原色组成,同时可以得到组成的系数,写成以下的公式

X=rR+gG+bBX = rR + gG + bB

其中X为待测的单色光,r,g,br,g,b为系数,R,G,BR,G,B为选定的三原色的波长

在这里要阐述历史上另一个有关颜色的结论–颜色叠加具有线性性

X=rR+gG+bB=krR+kgG+kbBX = rR + gG + bB = krR + kgG + kbB

简单来说只要比例相同叠加的颜色就相同,对颜色来说则是同比例不同系数只会影响颜色的亮度不会改变颜色色系

有了叠加的线性性,我们可以通过归一化r+g+b=1r+g+b=1,这样颜色就可以描述在一个二维平面上了

回到我们所关注的实验上来,很不幸的是,这个实验推翻了我们美好的幻想,单色光并不能通过三原色的叠加产生,不过如果允许在单色光上叠加一种三原色的话,那么产生的光可以由三原色叠加产生,即以下的等式

X+rR=gG+bBX + rR = gG + bB

从实验的角度来说我们无法把这个原色移到右边去,因为无法做到光的减法,但是从数学模型的角度上来看我们可以使用减法来表示上述等式

X=gG+bBrRX = gG + bB - rR

如果我们允许这样的叠加(此时的叠加是数学意义上的线性叠加而不仅是实际意义上的叠加)那么三原色能够表示所有的单色光问题就解决了,并且由于叠加的线性性,这种表示是唯一的,即所有颜色都和RGB的线性表示一一对应

CIE图

CIE 1931图就是以上的公式的图像表示(也是实验的结果),为了美观进行了数学意义上的变换处理(不用担心,这种处理并不会影响线性性,仅仅为了美观),需要注意的是任何显示设备都无法显示完整的CIE图,这是由显示设备所用的色彩模型决定的

CIE图并不是规则这主要是因为CIE图需要表示的是可见光的范围,对于公式来说系数没有限制,但是对于我们来说超出可见光的部分没有意义,所以不需要在图上表示


参考资料

  1. https://www.zhangxiaochun.com/color-space-1/
  2. https://blog.csdn.net/qq_40692109/article/details/105268187
  3. http://www.360doc.com/content/17/0226/12/31887026_632123788.shtml