开启辅助访问
 找回密码
 立即注册

色域马蹄图是如何来的?——CIE 1931 XYZ色彩空间详解

xingrukun 回答数20 浏览数20642
前言

在这个一年就要发布十几台旗舰级手机的时代,手机屏幕的色彩的精准性与范围总是被强调,所以相信绝大多数关注数码领域的爱好者都见过与封面上的这张图类似的色域图。
起先虽然我也见过这张图,但真正想要去搞清楚这张图的含义倒并不是因为看到手机屏幕参数的时候产生疑惑,而是源于一台关于色彩的问题而产生的好奇驱使我去了解这张图背后的故事。
经过几天的文献查阅与思考,今天我就来详细解释一下这张色域图来源的细节。
开始之前你需要了解的几个概念

色刺激:进入人眼能引起有彩色或无彩色感觉的可见光辐射。
三刺激值:在三色系统中,与待测光达到色匹配所需的三种原刺激的量。
光谱三刺激值:在三色系统中,等能单色辐射的三刺激值。
色品坐标:三刺激之值与它们之和的比。
色彩匹配实验

我们知道不同的色光混合起来会产生其他的颜色,这其实是人眼的一种生理反应。为了了解到底人眼是如何融合不同颜色色光的,有人设计了一台实验来定量测量到底参入多少红、绿、蓝三原色会让人眼觉得待测色光和三色光混合色感觉完全一样。实验原理如下图所示:



图1:色彩匹配实验

上图中红绿蓝三色光照在白屏的右侧,待测色照在白屏的左侧,左侧和右侧之间有一台黑色的档片。人眼透过一台小孔观察白屏,人眼的观测视角大概为 ,观测到的视场如上图右下角所示。当我们加载待测色之后,通过调节红绿蓝三色光的强度,最后使得人眼看到的颜色分界线感觉消失,待测色光即与三原色混合色光达到匹配,记录此时三色光的强度。
这样不同颜色的色光都能通过这个实验得到其对应的三原色光强度值,我们把其称之为三刺激值。
颜色匹配过程可以用公式表述如下:

(1)
式中“ ”号表示视觉上相等,即颜色匹配; 为代数量,可为负值。  为待测光的代数量。
颜色匹配也可以用几何表示:



图2:  颜色匹配矢量

上图表示待测色光C可以分解为三原色R,G,B三个矢量相加。



图3:  常用的颜色几何匹配方式:设置坐标的单位向量的模长为1

通常为了后续表示省事,R,G,B三色的单位矢量模长数量都取1。我们把单位矢量的顶端链接起来可以得到单位平面,每个颜色矢量  只会与单位平面有一台交点 ,且此时交点的坐标满足单位平面的方程,
光谱三刺激值
如果待测色光是辐射能量都相同的单色光(光谱色,光波段为380-760nm),我们把得到的三原色光强度值称之为:光谱三刺激值,用 表示。颜色匹配过程可用公式表示如下:

(2)
根据光谱色的颜色匹配实验结果可以得到以下曲线:



图4:  光谱三刺激值曲线图

从上图我们看到,光谱三刺激值红光刺激值很大一部分出现负值。这是因为当投射到半视场的某些光谱色用无论如何也无法用另一半视场的三原色来匹配时,只有在光谱色半视场加入红色原色才能达到匹配。也就是此时的红色光是加载到图1中 左侧白板上的,如果规定往右侧加入的色光量为正值,那么左侧就相应的为负值。
色品坐标

时,也就是该待测色光在单位平面上,方程(1)可以写为:

  (3)
上式说明对于一台单位颜色  的色品只决定于三原色的刺激值在R+G+B总量中的相对比例,我们把这个比例叫做色品坐标,用 表示:

(4)
色品坐标因为在单位平面上所以满足: ,根据这个关系,我们其实只要知道两个量就能得到第三个量的值。
公式(3)也可以写成以下形式:

  (5)
CIE 1931-RGB 色度系统

CIE使用的三原色波长分别为700nm (R)、546.1nm (G)、435.8nm (B)(因为这三种波长能够精确的产生),对应的光谱三刺激值如图4所示。



图4:  光谱三刺激值曲线图

光谱三刺激值与色品坐标的对应关系如下:

              (6)
通过上式我们可以从光谱三刺激值计算出其对应的色品坐标,最后链接各个波长的色品坐标形成光谱轨迹得到下图:



图5:  CIE 1931 r,g色品图的光谱轨迹

上图中380nm的波长那里其实包括了380-435.8nm的波长,700nm的波长其实包括了700-780nm的波长。
上图中的  代表了等能白点,该点的r,g,b坐标为(0.33,0.33,0.33),它的意思是等量R,G,B原色混合可以产生等能的白光。
从上图我们看到,由于光谱的三刺激值中有负值,所以造成上图中光迹曲线坐标有很大一部分在 的负轴上,不便于我们对色彩进行理解。因此我们需要对其进行坐标变换以使得色品图内的曲线上的所有点在新坐标下对应的值为正值。
CIE 1931 XYX 色度系统

那么问题来了,我们怎样选取新的三原色才能使得图5中的光谱轨迹曲线全部都落在新坐标系内的第一象限?(也就是光谱轨迹曲线色品坐标全部为正)
CIE主要考虑了以下三点内容:

  • 规定(X),(Z)两原色只代表色度(颜色中红色和蓝色的比例),没有亮度。光度量只与三刺激值(Y) 成比例。XZ 线称为无亮度线。
  • 新的三原色(X),(Y),(Z)连成的三角形要包含光迹曲线。
  • 光谱轨迹从 540nm 附近至 700nm,在 RGB 色品图上基本是一段直线,用这段线上的两个颜色相混合可以得到两色之间的各种光谱色,新的 XYZ 三角形的 XY 边应与这段直线重合,因为在这段线上光谱轨迹只涉及(X)原色和(Y)原色的变化,不涉及(Z)原色。
这三点为啥这样设置,我自个的理解如下:
对于第一点:为啥亮度只设置与(Y)原色有关?而(X),(Z)原色不包含亮度?
因为人眼对绿光波长最敏感,RGB系统三原色的相对亮度(不是数量的多少)比为: (这意味着蓝色给人的感觉非常暗,绿色给人感觉最亮)。因此这里设置原色Y代表亮度和绿色的在颜色中的比例也比较也合理(颜色Y值越大,人眼感觉越亮,也代表颜色中绿色的比例越高)。
另外由于颜色匹配也包括其亮度的匹配,因此方程(1)可以将三原色相对亮度代入可得到亮度方程 ,如果颜色在无亮度 线上,则 , 代入 ,整理后可得 XZ 线的方程。
对于第二点:应该大家都能理解,新的坐标系肯定是在得让光谱轨迹曲线只落在第一象限,保证其值为正。
对于第三点:这意味着这条直线的两端对应的肯定对应着两种原色,也就是(Y)和(X)。XY线的方程很容易获得。
目前,我们已经确定了两条由新三原色组成的线即,无亮度线XZ,与XY线。而第三条线YZ,CIE选取的为波长503nm出的点相切的直线。其方程也很容易得到。
所以根据上面,我们可以在图5中看到由这三条新由三原色连成的三角形。虽然这里看到的是二维的三角形,其实它是在三维空间中:



图6:  CIE 1931 RGB向XYZ系统转换

此外,通过这三条直线,我们可以确定新三原色在R,G,B色品系统下的坐标,进而得到新色品坐标系与旧色品坐标系之间的转换矩阵。然后根据转换矩阵我们就能将图5的光谱轨迹曲线转换到由新三原色构成的新坐标的第一象限中。转换后的光谱轨迹曲线,新三原色三刺激值曲线结果如下图所示:



图7:  CIE 1931 x,y色品图上的光谱轨迹



图8:  CIE 1931 XYZ系统光谱三刺激值曲线图

图7中的x,y为新系统的色品坐标,其值为:

  (7)
等能白点的坐标  为(0.33,0.33)。
目前我们将RGB系统转换到了XYZ系统,且光谱轨迹全部落在了第一象限。
待测色的CIE 1931 XYZ色品坐标计算

虽然我们得到了光谱在CIE x,y色品坐标系下的值,但是光谱轨迹曲线所包含的面积内的颜色的色品坐标值如何计算呢?
我们可以使用以下积分公式计算待测色的CIE三刺激值:

(8)
上式 为常数(归化系数), 为光源发出或经过物体反射投射进入人眼产生颜色感觉的光谱能量。当待测色是光源直接发出的,  则为光源的辐射的相对光谱功率分布 (可以通过测量获得,得到的图类似于下图)。由图8我们可以获得



图9:  光源的辐射的相对光谱功率分布示意图

因此待测色的三刺激值可以通过公式8来进行计算,然后通过三刺激值到色品坐标的转换,这样光谱曲线所包围的曲面内的所有颜色的色品坐标我们都可以通过公式(8)计算得到。
而对于混合色我们还可以根据格拉斯曼颜色混合定律得到(具体的方法主要有直接计算法,画图法)。
最终得到的色度图如下:



图10:  CIE 1931 xy色度图

图10,CIE x,y色品图上的光谱轨迹具有以下颜色视觉特点:

  • 靠近波长末端 700-770nm 光谱波段具有一台恒定的色品值,故在色品图上只由一台点来代表。
  • 光谱轨迹 540-700nm 段是一条与 XY 边基本重合的直线。在这段光谱范围内的任何光谱色都可通过 540nm 和 700nm 两种波长的光以一定比例相加混合产生。
  • 光谱轨迹 380-540nm 段是曲线,在此范围内的一对光谱色的混合不能产生二者之间位于光谱轨迹上的颜色,而只能产生光谱轨迹所包围面积内的混合色。光谱轨迹上的颜色饱和度最高。图上越靠近等能白点 点的颜色饱和度越低。
  • 链接色度点 400nm 和 700nm 的直线称为紫红轨迹,也称紫线。因为将 400nm 的蓝色刺激与 700nm 的红色刺激混合后会产生紫色(也就是说紫色和红色之间还有已知的颜色,而不是断裂的)。
  • Y=0 的直线(XZ)与亮度没有关系,即无亮度线。光谱轨迹的短波段紧靠这条线,意味着短波端的光虽然能够引起标准观察者的反应,但 380-420nm 波长在视觉上引起的亮度感觉很低。
  • 曲线内包含的色彩是我们人眼全部能感知的色彩。
  • 曲线是三维曲线,我们看到的是其在x,y平面上的家用投影。
最后

本文只是对CIE 1931 XYZ色彩空间的来源进行了介绍,限于篇幅与我所了解的内容的多少,这里就没有对其应用与扩展内容进行介绍。
但是如果你感兴趣深入可以去看参考中所列出的书籍,可以找到关于混合色的色品坐标如何计算,颜色空间均匀性的讨论,颜色主波长如何确定,色差的评价,同色异谱现象等等关于色彩的详尽内容。
你还可以以看看参考中其他人对于色彩的回答,相信对你了解色域图的应用会有帮助。
此外本文图片均来源与wiki百科和参考中所列出的两本书籍,本人只对其进行了标注。

参考:

1. 书籍:颜色信息工程——徐海松
2. 书籍:辐射度、光度与色度及其测量——金伟其
3. 色彩空间基础——章佳杰的回答
4. CIE1931色彩空间-wiki百科
5. 原色-wiki百科
使用道具 举报
| 来自福建 用Deepseek满血版问问看
LINZHOU | 来自北京
rgb坐标里面r有负值,说明这一部分的波段的颜色无法通过rgb混合来合成(只能给被测试的颜色加红色)
为什么坐标变换成xy以后,就消除负值了呢?那个无法被合成的颜色难道又能合成出来了么?
用Deepseek满血版问问看
回复
使用道具 举报
mtv1987 | 来自北京
看图10中有三个小圆点,那个是原来的三原色RGB的色品坐标,看到它们连线的三角形并没有包括全部的颜色。所以无法表示混合全部色彩,这也是有负值的原因。

为了消除负值,我们定义了新的原色,XYZ,是假想的原色,不是真实存在的色彩,因为他它们的坐标在光谱轨迹之外。为了确保它们的正值混合能表示所有的色彩,它们连线得三角形必须包括光谱轨迹曲线的色品坐标。看图6。

因此经过坐标变换以及选取的新的原色,我们能够用新的原色混合出所有色彩。

简单的解释就是原色的选取变了。
回复
使用道具 举报
the8day | 未知
好复杂,快看不懂了都。话说Z轴跑哪去了啊?明明是测一个颜色 测不出来把红光加到被测颜色上,意义是什么啊? 还是Lab颜色系一看就清楚。
回复
使用道具 举报
浮銀 | 来自北京
写的真好
回复
使用道具 举报
HATEQ | 来自江苏
x+y+z=1,有了(x,y)就有了(x,y,1-x-y)。有的颜色是不能靠加色法叠加出来的,需要把红色光源移到被比对色处,才能使得两侧颜色看起来一样。
回复
使用道具 举报
不明白不知道 | 来自北京
参考这篇专栏做了个可视化,CIE1931色彩空间,赞一下作者!
回复
使用道具 举报
EFLwCYCj | 来自北京
学的好
回复
使用道具 举报
bolen | 来自北京
请教下什么叫做辐射能量都相同的单色光,辐射能量不是和波长有关么,如果辐射能量相同,是不是说不同波长的待测单色光的光子数不同
回复
使用道具 举报
lulu188 | 未知
请问无亮度面是不是应该过原点呢?
回复
使用道具 举报
123下一页
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影