色度图的问题
Posted MathOnAir
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了色度图的问题相关的知识,希望对你有一定的参考价值。
色度图的问题
三基色原理说明了所有颜色都可以看作是R,G,B的不同组合,而色度图有说,在上面的红、绿、蓝三点围成的三角形不包括色度图上面所有的颜色,所以只用三基色不能组合得到所有的可视颜色。这是为什么呢?
为什么三原色不能表示所有颜色,这个得从三刺激理论说起:
可见光的波长范围大致在390nm到700nm之间,但人类只能在几nm这个尺度上感受到这些光的区别,也就是说,对于纯色光(只含一种波长的光),人类大概只能识别100种。基于此,有人提出了人眼中有100种感受不同波长光的光感受体,也有人认为有6到7种不同的光感受体。但最被认可的是ThomasYoung、HermannvonHelmholtz的三刺激理论。三刺激理论认为,人眼中含有三种不同的光感受体。这种猜想后来被证实,确实存在三种不同的视锥细胞,分别能够感应红、绿、蓝三种光的刺激。下图是三种细胞对不同波长光的响应曲线,分别在420nm、534nm、564nm达到高峰,注意,这三种波长的光并不能真正对应到蓝、绿、红色,所以,严格的说,这三种受体分别应该称为长波、中波、短波光感受体。
下图描述了经典的颜色匹配实验,左侧是白板,在上方发射单一波长的纯色光,下方可以发射三种不同波长的光,并可以调整它们的强度,人眼透过狭缝去观察上下两块板的颜色是否相同。
这三种色光通常是700nm(红色)、546.1nm(绿色)和435.8nm(蓝色)三种光,如果我们把可见的单色光都用三色光匹配出来,就可以得到下图:
注意,在一段波长范围内,红色光的刺激值出现了负值。这是由于无论如何调整三色光,都无法匹配过于饱和的单色光,只好将红色光与待匹配的单色光混合(也就是将红色光的发光器转移到上方),以降低其饱和度。
R,G,B是色彩匹配函数rˉ(λ)、gˉ(λ)、bˉ(λ)的值,按如下公式定义:r=R/(R+G+B)
g=G/(R+G+B)
b=B/(R+G+B)
很显然,r+g+b=1,如果我们知道r、g、b中任意两个的值,就可以确定第三个变量的值。将色彩匹配函数曲线在rg坐标系中画出,就得到rg色度图:
由于r、g会出现负值,为了方便计算,CIE引入了XYZ空间,令X=0.490R+0.310G+0.200B
Y=0.177R+0.812G+0.011B
Z=0.010G+0.990B
就得到X、Y、Z的颜色匹配曲线,
如果我们定义x、y为:x=X/(X+Y+Z)
y=Y/(X+Y+Z)
将x、y的值在xy坐标系中画出就得到xy色度图,
上图中红、绿、蓝点分别表示三原色,连接这三点得出的三角形即为由三原色混合所得颜色的范围,三角形外的颜色均不能由三原色混合产生。而普通显示器因为技术原因,并不能发出纯正的单色光,故而所围成的三角形更小,显示的颜色更少。
节选自知乎
以上是关于色度图的问题的主要内容,如果未能解决你的问题,请参考以下文章
二分图判断-笔试题
从 HSV 中提取色度/相对色度
数字色度计显示本机值的色彩空间是啥
如何计算二维对数色度?
禁用 Java ImageIO 色度二次采样
H.264编码YUV422的4*4色度编码