3、CIE色度系统:CIE 1931 XYZ颜色空间、色度图与色域、Lab颜色空间
聊到色彩校正矩阵(CCM),绕不开的就是CIE色度系统。说白了,这是整个色彩科学的“地基”。我刚开始接触这行时,也觉得这些概念太抽象,什么XYZ、Lab,听着就头大。但后来调了几年矩阵,才明白——不懂这个,你连颜色偏差都描述不清楚。
今天咱们就把这块硬骨头啃下来。我会结合自己踩过的坑,帮你理清三个核心概念:CIE 1931 XYZ颜色空间、色度图与色域、Lab颜色空间。
3.1 为什么要有CIE 1931 XYZ?
先问个问题:你看到的“红色”,和我看到的“红色”,是同一个颜色吗?
嗯,这其实是个哲学问题。但做工程不能靠感觉,我们需要一个客观的、可量化的标准。CIE 1931 XYZ颜色空间就是干这个的。
它基于人类视觉的“三刺激值”理论。简单说,人眼视网膜上有三种锥状细胞,分别对红、绿、蓝光敏感。任何颜色都可以看作是这三种刺激的混合结果。
我在项目中遇到过一件事:用两台不同品牌的相机拍同一张色卡,出来的RGB值完全不同。为什么?因为它们的传感器光谱响应不一样。这时候,只有把RGB转换到XYZ空间,才能做公平的比较。
核心要点:XYZ是一个“设备无关”的颜色空间。它不依赖任何显示设备或拍摄设备,只描述颜色本身。
3.2 色度图与色域——颜色的“地图”
有了XYZ,我们就能画一张“颜色地图”了。这就是CIE 1931色度图,也就是你经常看到的那个“马蹄形”图。
这张图把颜色用两个坐标(x, y)表示出来。x代表红色分量,y代表绿色分量,蓝色分量通过z = 1 - x - y算出来。马蹄形的边界,是人眼能看到的全部颜色——也就是“光谱轨迹”。
那什么是色域?
色域就是某个设备能显示或记录的颜色范围。比如你的显示器是sRGB色域,它在色度图上就是一个三角形。专业显示器可能是Adobe RGB或DCI-P3,三角形更大。
我调CCM时,最常干的一件事就是:把相机的原始RGB转换到XYZ,然后在色度图上画出它的色域,再和目标色域(比如sRGB)做对比。这样一眼就能看出,哪个颜色拍“过”了,哪个颜色拍“丢”了。
避坑指南:我曾经以为色域越大越好。后来发现,如果相机的色域远大于显示器的色域,映射不好反而会偏色。所以调CCM时,一定要明确你的目标色域是什么。
3.3 Lab颜色空间——更“人性化”的坐标
XYZ虽然客观,但它有个问题:不符合人眼对颜色差异的感知。举个例子,在XYZ空间里,两个蓝色点的距离是10,两个绿色点的距离也是10,但人眼会觉得蓝色那两个差别更大。
这就麻烦了。我们做色彩校正,追求的是“看起来准”,而不是“数学上准”。
所以CIE在1976年推出了Lab颜色空间(也叫CIELAB)。它把颜色分成三个维度:
- L*:明度,从0(黑)到100(白)
- a*:红绿轴,正数偏红,负数偏绿
- b*:黄蓝轴,正数偏黄,负数偏蓝
Lab最大的优点是“均匀感知”。也就是说,在Lab空间里,两个颜色点的欧氏距离,和人眼感受到的色差基本成正比。这个距离有个专门的名字——ΔE(Delta E)。
我评估CCM效果时,最常用的指标就是ΔE。如果ΔE小于1,人眼基本看不出差别;1-3之间,仔细看能发现;大于3,那就是明显偏色了。
注意:Lab空间是从XYZ转换过来的,不是直接从RGB算的。所以你的CCM流程通常是:RGB → XYZ → Lab。别跳步,否则算出来的ΔE没有意义。
3.4 三者之间的关系——一张图说清楚
为了让你更直观地理解,我画了一张结构图。它展示了这三个颜色空间在CCM调优流程中的位置和作用。
3.5 实战中怎么用?
说了这么多理论,咱们落地到CCM调优里。我一般按这个步骤走:
- 采集数据:用相机拍一张标准色卡(比如X-Rite ColorChecker),得到每个色块的RGB值。
- 转换到XYZ:用相机的光谱响应曲线或标准转换矩阵,把RGB转到XYZ。
- 计算Lab:以D50或D65为白点,把XYZ转到Lab空间。
- 计算ΔE:把实测的Lab值和色卡标准值对比,算出每个色块的色差。
- 优化矩阵:调整CCM的9个系数,让所有色块的ΔE平均值最小。
这里有个小技巧:不要只看平均ΔE,还要看最大ΔE。我曾经调出一组矩阵,平均ΔE只有1.2,但某个蓝色块的ΔE高达4.5。结果拍蓝天时,颜色明显偏紫。所以我现在都会同时监控平均ΔE和最大ΔE。
一句话总结:XYZ是客观标尺,色度图是可视化工具,Lab是评价标准。三者缺一不可,共同构成了CCM调优的理论基础。
好了,这一章就到这里。记住这些概念,下一章咱们就开始动手算矩阵了。