一、颜色匹配

为了满足工业生产对颜色特性的定量化和标准化的需要,由国际照明委员会(CIE)的协调和指导下,先后提出CIE1931和CIE1964标准色度观察者光谱三刺激值,由此奠定了现代色度学基础。

1.1、颜色匹配实验

三原色匹配或混合是CIE标准色度系统的物理基础。颜色的混合可以是色光的混合,也可以是染料的混合,这两种混合方法所得到的结果是不同的,色光的混合称为颜色相加混合,而染料的混合则为颜色相减混合。将几种色光同时或快速先后继时刺激人的视觉感官,便会产生不同于原来颜色的新色觉,这是颜色相加混合的基本方法。采用加色法进行颜色匹配的实验装置如下图所示,在白色屏幕的右边投射红(R)、绿(G)、蓝(B)三原色光,左边为待匹配的色光,左右两个半屏之间由一黑色分界屏隔开,由白色屏幕反射出来的光通过小孔射入观察者的眼睛,并且观察视场限制在2°范围之内。在观察者位置的上方还有一束照明光,它投射在观察小孔周围的背景壁上作为视场背景光,而且这束光的颜色和强度都可以调节。

在下图的实验装置中,通过调节右边三原色光的强度来改变其混合的颜色,当视场中两部分光色相同时,视场中间的分界线消失,两部分合为同一视场,此时认为待配光与三原色混合的光色达到一致。这种把两个颜色调节到视觉上相同的方法称为颜色匹配,对不同的待配光达到匹配时三原色的光强度值也不同。在视场两部分的光色达到匹配后,如果改变背景光的明暗程度,就会发现视场中的颜色会发生变化,如在暗背景光照明下感知的视场颜色为较饱和的橘红色,而在亮背景光时视场颜色变为暗棕色,但是两半视场的颜色仍然是匹配的。这个实验证明了一个被称为颜色匹配恒常律的基础定律,即不管颜色周围环境的变化或者人眼已对其他色光适应后再来观察,两个相互匹配的颜色仍始终保持匹配。

1.2、颜色的矢量表示与匹配方程

在加混色匹配实验中,假设参与混合的原色为红色(R)和蓝(B)两种,并且以各占50的数量混合后的颜色与颜色C1相匹配,则可将该混色匹配过程用代数表示为:C1=50(R)+50(B),其中“=”表示颜色相互匹配,该式被称为颜色匹配方程或色方程。如果用三原色进行颜色的混合匹配实验,则同样可以用色方程来表示与其混合色匹配的颜色C为:

C=rc(R)+gc(G)+bc(B)

其中,rc,gc,bc分别表示各种颜色的数量,称为色值。另外,用如下图2-3所示的空间量法来表示该颜色的混合过程,可见不同数量的色值rc,gc和bc。混合成的空间矢量有着不同的方向,所以不同方向的矢量代表了不同的颜色,而这些空间矢量组成的立体空间称为颜色空间。当一定数量的红色(R)、一定数量的绿色(G)和一定数量的蓝色(B)混合后形成白色时,定义其为1个单位量,即R=1,G=1,B=1。如果用图2-4所示的颜色空间立方体来表示1个单位量的三原色混合,那么R、G、B混色后可能形成的所有颜色都将包含在该空间中,并且可以用色方程来表示其混合匹配色。当混合匹配色C的色值为rc=gc=bc=1时,该颜色为白色;如果rc=gc=bc=0,则为黑色。

1.3、拉格斯曼颜色混合定律

根据颜色相加混合的现象,格拉斯曼(H. Grassmann)于1854年总结出几条基本定律,为颜色的测量和匹配奠定了理论基础。需要指出的是,格拉斯曼颜色混合定律只适用于各种色光的相加混合方法,下面具体阐述该定律的基本内容。

(1)人眼视觉只能分辨出颜色的三种变化,即明度、色调和饱和度。
(2)由几个成分组成的加混色中,如果一个颜色连续地变化,那么混合色的外貌也连续变化。由这个定律又导出了两个定律,即补色定律和中间色定律。
  补色定律:如果某一颜色与其补色以适当的比例混色,便产生白色或灰色;若按其他比例混合,则产生近似于比重较大的颜色的非饱和色。
  中间色定律:任何两个非补色相混合,便产生中间色,其色调取决于这两个颜色的相对数量,其饱和度则由该两颜色在色调顺序上的远近决定。
(3)在加混色中,其混合色取决于参加混合的颜色的外貌,而与它们的光谱组成无关。换言之,凡是在视觉上相同的颜色都是等效的。该结论包含了两个简单法则,即比例法则(proportionality)和加法法则(additivity)。
  比例法则:一个单位量的颜色A与另一个单位量的颜色B相同,那么当这两个颜色的数量同时扩大或缩小相同的倍数n时所得到的两个颜色仍然相同,即若A=B,则nA=nB。

  加法法则:在视觉上相同的两个颜色A与B和另外两个相同的颜色C与D分别相加后得到的两个新的颜色仍然相同,即若 A=B,C=D,则 A+C=B+D。

由此又导出了颜色代替律:只要在感觉上是相同的颜色便可以在相同的条件下互相代答,所得到的视觉效果是相同的,因而可以利用颜色混合的方法来产生或代替所需要的颜色。如有颜色A、B、C、X、Y,并设A + B=C,而 X+Y=B,则 A+(X+Y)=C。由此通过代替所得到的颜色C与原来的混合色C在视觉上具有相同的效果。
(4)混合色的总亮度等于组成混合色的各颜色亮度的总和,称为亮度相加定律。

二、CIE1931 RGB色度系统

实验已经证明:几乎所有的颜色都可以用三原色按某个特定比例混合而成。利用如图2-1所示的实验装置,可以对不同波长的光谱线颜色在2°观察视场范围内采用红(R)、绿(G)、蓝(B)三原色进行颜色匹配,并将三原色的单位调整到相等数量相加匹配出等能白色。如果在白色屏幕的左边投射波长为λ的单色光C,适当调节三原色的投射能量,可在屏幕上获得两半视场的颜色匹配,其颜色匹配方程可以写为

那么在可见光380~780nm范围内,每隔一定的波长间隔如10nm,对各个波长的光谱色进行一系列匹配实验,可以得到相应的一组色方程。经过这样的匹配实验可以得到下图所示的一组曲线,它们表示在380~780nm范围内当各光谱线的能量相同时,某一光谱线所对应的r、g和b三条对应曲线的混色结果与该光谱色相同,并称这三条曲线为光谱三刺激值曲线。

由加混色实验可知,任何一个颜色可以用线性无关的三个原色以适当的比例相加混合与之匹配,所以色方程可以改写成,式中,r、g、b是匹配颜色C所需要的三个原色的刺激量,称为颜色C的三刺激值。

如果令,那么上式色方程变为,式中,r,g,b称为颜色C的色品坐标。如果定义颜色C的一个单位为 ,则显然可知r+g+b=1。用r、g作为直角坐标绘制出一个直角坐标图,它是所有光谱色的色品坐标点连接起来而形成的光谱轨迹,并称之为色品图,如下图所示,其中WE代表等能白。 其中色品坐标r的负数值的物理意义在于实验中将红色与待匹配的单色光相加,从而使得两半视场匹配。

通过这种表示形式,我们便可以根据待测光的光谱组成将各种波长的光谱三刺激值找到后进行简单地相加混合就可以计算该待测光的三刺激值,用积分形式表示为:

式中,R、G、B分别为(R)刺激值的总和、(G)刺激值的总和及(B)刺激值的总和,K为比例常数。因此求得该待测光的颜色在CIE1931 RGB系统中的色品坐标为:

三、CIE1931 XYZ色度系统

为了消除RGB标准色度系统会出现负值时给大量数据处理带来的不便,CIE推荐了一组新的曲线,即CIE1931 XYZ色度系统,如下图所示。

由于所有可用RGB系统匹配的颜色都在YZ轴的右边,因而以(X),(Y),(Z)为三原色的色度系统其三刺激值将全部为正值,给色度学的计算带来极大的方便,这是该新系统的最大优点。所设想的三原色(X),(Y),(Z)包围了(R),(G)、(B)三原色,并在(R)、(G)、(B)包围的颜色区域之外,因此这是一组假想的颜色。

色度系统的相互转换

由于三原色选择不同以及规定三原色刺激值单位的方法不一样,所以会出现许多不同的色度系统。基于数学方法和物理意义,任何两个色度系统都可以互相转换,其转换过程实质上是一个坐标转换的问题。设(X)、(Y)、(Z)代表新系统的三原色, (R)、(G)、(B)为旧系统的三原色,那么根据格拉斯曼颜色混合定律可知,每单位新的原色可"旧的三原色相加混合得到:

用矩阵表示为:

因此,只要求出这9个系数就可以将两个系统的三刺激值进行相互转换。在通常情况下,新系统三原色在旧系统中的色品坐标是已知的,分别设为(rx, gx, bx),(ry, gy, by), (rz, gz, bz),则有:

其中:

因此,只要求出Cx,Cy,Cz三个值,那么两系统之间三刺激值的转换式就确定了。如果知道一种颜色如参照白在新旧坐标系统中的三刺激值R0、G0、B0和X0、Y0、Z0,则代入式中就可以求得Cx、Cy、Cz的值。 至于RGB和XYZ两系统色品坐标的相互转换推导这里不做推导,有需要的可以自行查阅,这里仅仅贴出结论:

在如图所示的CIE1931 XYZ系统色品图中,由CIE1931 RGB系统转换而来的等能光谱色品坐标连成的曲线称为CIE-xy色品图的光谱轨迹。在光谱轨迹的红端波长到波长为560nm的区间内,光谱色轨迹接近于直线,然后光谱色轨迹形成弧形曲线直至光谱的短波区域,蓝紫色的波长被压缩在很小的范围之内。由该光谱轨迹曲线以及连接光谱的红端和蓝端的直线所构成的马蹄形内包括了一切物理上能实现的颜色,而假想的红(X)、绿(Y)、蓝(Z)三原色都落在光谱轨迹的外面,所以它们是物理上不能实现或不存在的颜色。

在CIE1931 XYZ色品图中,色品坐标x相当于红原色在某一颜色中所占的比例,色品坐标y相当于绿原色在同一颜色中所占的比例,而色品坐标z则可由r+y+z=1求得。

在光谱末端波长为700nm以上的波段具有一对恒定的色品坐标值,即r=0.7347,y=0. 2653,z=0,所以在色品图上只由一个点来代表。光谱轨迹560~700nm这一段接近于直线,在这段直线上的颜色其色品坐标满足x+y-1,且与色三角的XY边重合,所以在这一光谱范围内的任何光谱色都可以用560nm和700nm两种波长的谱线以一定的比例相加混合产生。光谱轨迹在380~560nm范围内是一段曲线,在此波段内的一对光谱色的混合不能产生两者之间位于光谱轨迹上的颜色,而只能产生光谱轨迹所包围面积内的混合色。在这一波段中,波长在380~420nm范围内的光谱色其y坐标接近于零,而y=0的直线是无亮度线,所以这些光谱色在视觉上引起的亮度感觉很低。因为由400nm附近的蓝色和700nm附近的红色刺激混合后会产生紫色,所以连接光谱轨迹红端与蓝端的直线称为紫线。在紫线上的颜色无法用光谱色代表,但这些颜色可以用光谱色的红端与蓝端混合而成。

经过多年的应用实践,为了适应大视场颜色测量的需要,后续还推出了CIE1964 X10Y10Z10标准色度系统,其实验方法和推导与上述类似,感兴趣的可以自行查阅。不同视场标准下,人类辨别颜色的能力也有所不同,因此对同种颜色而言,其色品坐标也将随观察条件变化而不同。

参考文献:

徐海松. 颜色信息工程.第2版[M]. 浙江大学出版社, 2015.

CIE标准色度系统(上)的更多相关文章

  1. CIE标准色度系统(下)

    四.色温与相关色温 根据绝对黑体光谱分布特性的普朗克定律,由普朗克公式可以计算出黑体对应于某一温度的光谱分布,并由此应用CIE标准色度系统可获得该温度下黑体发光的三刺激值和色品坐标,从而在色品图上得到 ...

  2. (系统架构)标准Web系统的架构分层

    标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层 ...

  3. [APUE]标准IO库(上)

    一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...

  4. 在配有英特尔® Iris™ 显卡的系统上通过优化对 Just Cause 3 进行增强

    高端 PC 继续通过高性能显卡驱动桌面游戏. 一流的"梦想机器"基于第六代智能 英特尔® 酷睿™ 处理器i7-6700K等 CPU,通常与高端独立显卡配合使用以运行要求最严苛的游戏 ...

  5. 数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发【转】

    转自:http://blog.csdn.net/hellolwl/article/details/6164449 目录(?)[-] 协议介绍 模块协议介绍 1            命令包格式 2   ...

  6. IBM X3850 Windows 无法安装到这个磁盘。选中的磁盘具有MBR分区表。在 EFI 系统上,Windows 只能安装到 GPT 磁盘

    以前安装的是window2003 32位, 改装为2012 64位的时候.出现 Windows 无法安装到这个磁盘.选中的磁盘具有MBR分区表.在 EFI 系统上,Windows 只能安装到 GPT ...

  7. 标准Web系统的架构分层

    标准Web系统的架构分层 – 转载请注明出处 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求 ...

  8. 标准Web系统的架构分层[转]

    标准Web系统的架构分层 – 转载请注明出处 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求 ...

  9. UNIX 系统上的文本操作简介

    http://www.oschina.net/question/129540_53561 UNIX 的基本哲学之一就是创建只做一件事并将这一件事做好的程序(或进程).这一哲学要求认真考虑接口以及结合这 ...

随机推荐

  1. js showOpenFilePicker showSaveFilePicker showDirectoryPicker API

    选择文件,获取文件句柄 btn.addEventListener("click", async (e) => { try { const hFiles = await win ...

  2. JavaScript高级-类的使用

    1.面向过程与面向对象 1.1面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了. 1.2面向对象 面向对象是把事务分解成为一个 ...

  3. 彻底理解c++的隐式类型转换

    隐式类型转换可以说是我们的老朋友了,在代码里我们或多或少都会依赖c++的隐式类型转换. 然而不幸的是隐式类型转换也是c++的一大坑点,稍不注意很容易写出各种奇妙的bug. 因此我想借着本文来梳理一遍c ...

  4. 配置伪分布模式下的hadoop以及采用fuse-dfs来访问HDFS

    实验目标 配置环境的主要目的是得到HDFS的客户端fuse-dfs的IO性能.本来的服务器上没有任何环境,因此安装均是从无到有的.系统是Ubuntu server 14.04 amd64.整个过程参考 ...

  5. JUC学习

    JUC是java.util.concurrent包 并发编程的工具包 并发.并行 并发:多线程操作一个资源 并行:多人一起走 并发编程的本质:充分利用cpu的资源 线程的几个状态 新建 运行 堵塞 等 ...

  6. .NET gRPC 核心功能初体验,附Demo源码

    gRPC是高性能的RPC框架, 有效地用于服务通信(不管是数据中心内部还是跨数据中心). 由Google开源,目前是一个Cloud Native Computing Foundation(CNCF)孵 ...

  7. 使用 Tye 辅助开发 dotnet 应用程序

    newbe.pro 已经给我们写了系列文章介绍Tye 辅助开发k8s 应用: 使用 Tye 辅助开发 k8s 应用竟如此简单(一) 使用 Tye 辅助开发 k8s 应用竟如此简单(二) 使用 Tye ...

  8. 【Arduino学习笔记04】消抖动的按键切换

    "开关抖动": 由于按键是基于弹簧-阻尼系统的机械部件,所以当按下一个按键时,读到的信号并不是从低到高,而是在高低电平之间跳动几毫秒之后才最终稳定. 代码解读: 1 const i ...

  9. 【python+selenium的web自动化】- 8种元素定位方式详解

    ​ 我们在做WEB自动化时,最根本的就是操作页面上的各种元素,而操作的基础便是元素的定位,只有准确地定位到唯一元素才能进行后续的自动化控制,下面将对各种元素定位方式进行总结归纳. ​ 说明:以下操作统 ...

  10. go中errgroup源码解读

    errgroup 前言 如何使用 实现原理 WithContext Go Wait 错误的使用 总结 errgroup 前言 来看下errgroup的实现 如何使用 func main() { var ...