0
点赞
收藏
分享

微信扫一扫

初探色彩空间

酷子腿长一米八 2022-04-05 阅读 70

文章目录

What

0. 窗户

色彩空间从颜色的角度描述人类的视觉系统对光的感知1,是眺望的自然世界的窗户

  • 基于色彩模型通过色彩映射构建色彩空间,基于加色模型,通过三维映射可以构建 CIE RGBCIE XYZ 等三维色彩空间以及通过二维映射构建 CIE 1931 xyAdobe RGBsRGBDisplay P3 等二维色彩空间,可以基于减色模型,通过四维映射构建 SWOP CMYK 等四维色彩空间2

常见的二维色彩空间
可见光谱颜色轨迹

正交的二维坐标系中马蹄形区域是 CIE 1931 xy 色彩空间,区域边界是人类的视觉系统能够感受到的各个频率单色光的颜色,区域内则包含了人类的视觉系统能够感受到的全部颜色3

  • CIE 1931 xy 色彩空间是 CIE XYZ 色彩空间在 x:y:zx:y:z0.569:0.408:0.0230.569:0.408:0.023 的平面 x+y+z=1x+y+z=1 上的归一化投影

不同设备成像/显像特性不同。假设一张图片拍摄时成像设备工作在 Adobe RGB 色彩空间,而查看时显像设备工作在 sRGBDisplay P3 色彩空间就会出现颜色偏差

Adobe RGB
sRGB
Display P3

色彩空间不同导致的颜色偏差在显示器与打印机之间尤为明显,前者使用基于 RGB 加色模型的色彩空间而后者使用基于 CMYK 减色模型的色彩空间天差地别。显示器显示图片的 RGB 颜色数据无法直接交给打印机打印的 RGB 颜色数据,需要将 RGB 颜色数据转换为 CMYK 颜色数据,然而两种色彩空间并不能完整的互相表达,只能通过基础色彩空间为桥梁实现色彩空间的近似转换,于是打印机打印的图片会出现颜色偏差

RGB 与 CMKY 的颜色比较

Why

1. 光谱与颜色

光是电磁波,光谱即电磁频谱,是电磁辐射的全部频率范围。人眼可以感知的电磁频谱称为可见光波谱,波长范围约 390700 纳米

电磁频谱

人眼的视网膜上,有诸多神经上皮细胞,最为特殊的是感光细胞,已知三种视杆细胞、视锥细胞和神经节细胞,能够将光信号转换为生物电信号。人眼包含 300 万神经节细胞、1.2 亿个视杆细胞和 600 万个视锥细胞。神经节细胞仅 13%1~3\% 能感光,主要影响昼夜节律和瞳孔反射;视杆细胞光信号极敏感单光子就能触发,能够感知光的强度但无法辨别颜色,视锥细胞有三种不同的类型,分别对不同波长的光的有不同的响应,三种视锥细胞的响应曲线具有三个峰值响应,引起 S 视锥细胞 (占总量约 2%2\%)、 M 视锥细胞 (占总量约 33%33\%) 和 L 视锥细胞峰值响应的波长分别是短波 420nm、中波 530nm 和长波 560nm,由这三种波长的单色光产生的视觉信号分别定义为蓝色、绿色和黄色

S 视锥细胞的响应曲线 M 视锥细胞的响应曲线 L 视锥细胞的响应曲线

1931 年位于欧洲的国际照明委员会即 CIE,通过观察者实验提出了普遍应用的 CIE 1931 RGB 色彩空间即 CIE XYZCIE 1931 xy 的前身,后两者至今沿用,CIE 1931 RGBCIE XYZ 色彩空间通过公式 (1)(1) 转换

[RGB]=[0.41847 ⁣ ⁣ ⁣ ⁣ ⁣0.15866 ⁣ ⁣ ⁣ ⁣ ⁣0.0828350.091169 ⁣ ⁣ ⁣ ⁣ ⁣0.25243 ⁣ ⁣ ⁣ ⁣ ⁣0.0157080.00092090 ⁣ ⁣ ⁣ ⁣ ⁣0.0025498  ⁣ ⁣ ⁣ ⁣0.17860][XYZ](1) \tag{1} \begin{bmatrix} R\\ G\\ B \end{bmatrix} =\left[{\begin{aligned}0&.418\,47\!\!\!&\!\!- 0&.158\,66\!\!\!&\!\!-0&.082\,835\\-0&.091\,169\!\!\!&\!\!0&.252\,43 \!\!\!&\!\!0&.015\,708\\0&.000\,920\,90\!\!\!&\!\!-0&.002\,549\,8\ \!\!&\!\!0&.178\,60\end{aligned}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}

观察者实验选定了三种容易获取的单色光波作为三原色,分别是 700nm 的红色光波、546.1nm 的绿色光波和 435.8nm 的蓝色光波,研究者发现使用三原色光波线性叠加总能得到与其他波长的单色光的视觉效果相同的颜色,通过大量的独立随机实验得到了一组色匹配函数 C=xR+yG+zBC=\overline{x}R+\overline{y}G+\overline{z}B,即目标波长的单色光按照色匹配函给出的值线性叠加三原色光就可以得到目标波长单色光的颜色。时间推移观察者实验中所使用的三原色光的波长也就成为了红绿蓝三原色的标准波长

CIE 三原色光波的色匹配函数

2. 黑与白

大自然是色彩学大师,娴熟的运用无数种颜色,然而在这些颜色中几乎没有一种来自单色光波,所有的颜色都是无数波长的混合,而在它们之中,黑色与白色最为独特

黑,我们常常联想到未知,虚无,这种想象恰如其分。卖家太黑了,指卖家没有良心;下手太黑了,指下手没有分寸…,房间太黑了,指房间没有开灯,看不见光。某种意义上,黑色就是空的颜色,举个两个例子

看见大熊猫黑眼圈意味着,阳光照射熊猫眼圈的毛发后没有反射,透射,或者散射光波,或者他们没有被我们的眼睛接收到,此时我们眼睛中用于感知色彩的细胞没有响应,大脑皮层给出指令黑色;而看见北极熊黑眼圈意味着,北极熊眼圈没有光波,我们同样无法感知,大脑皮层同样会给出指令黑色。这两种黑色密切相关,一,视觉系统没有接收到任何信号;二,没有任何光波,后者是前者的超集

白即白色,象征纯洁却不是一种纯粹的颜色,1666 年牛顿的棱镜实验证明白色的光波包含了其他各种波长的光波,也就是说白色的光森罗万象4

棱镜分光实验

照射到材料表面的光波大部分是被漫反射时,材料会显示为白色,也就是说,进入眼睛的入射光波以大致相等的量刺激眼中的三种视锥细胞时,人类视觉系统将光波感知为白色

3. 白平衡

太阳非常接近理想黑体,升温后其黑体辐射的光波将逐渐由黑(绝对零度,0 K-273 ℃)变红(1000 K727 ℃),再变黄(2400 K2127 ℃),然后变白(6500 K6227 ℃),最后变蓝(9500 K9227 ℃),不同色温的阳光具有不同的光谱,在一些色彩空间中定义 6500K 阳光(近似中午的阳光)为标准白光(其颜色十分接近白色)

Color_temperature_black_body_800-12200K

How

4. sRGB

按 HDTV(ITU-R BT.709)标准从可见光谱中取红色的长波 、绿色的中波和蓝色的短波作为 xyz 轴,设黑色 (0,0,0)(0,\,0,\,0) 为原点,设环境照明中的 6500 K 色温为白点

sRGB 基于加色模型,将不同比例的三束光的光谱相加,形成各种颜色的光谱。1996 年是惠普和微软合作创建的 sRGB 色彩空间,用于显示器、和万维网,目前是 Web 定义的标准色彩空间。

sRGB 是一种依赖于设备的色彩模型因为在现实中不同的设备通常由不同制造商生产,颜色元素(例如荧光粉或染料)对单个红色、绿色和蓝色的响应值存在差异,再现给定的 sRGB 值时也会有所不同,随着时间推移同一设备崭新与老化再现给定的 sRGB 也会有所区别

人类感知光波的颜色是非线性的,在普通照明条件下(既不是漆黑也不是太亮),人类对亮度的感知符合史蒂文斯幂定律近似为幂律函数 Vout=AVinγV_\text{out}=AV_{\text{in}}^{\gamma},伽玛值 γ<1\gamma <1 使用这种幂律非线性进行编码的过程称为伽马编码;反之,伽玛值 γ>1\gamma >1 称为伽玛解码。设计伽马修正,可以避免分配太多带宽突出人类无法区分的高光,造成的数据浪费

5. HSL 与 HSB

HSLHSBRGB 色彩模型的另一种形式。HSLHSB 通过色相(H,Hues)以及色度(C,Chroma)包括饱和度(S,Saturation)、明度*(L,Lightness)、亮度(B,Brightness)来描述颜色, 定义一个柱体坐标系内,极角为色相,极径为饱和度,高为明度或亮度,把 HSL 的顶层挪到高的中间就是 HSB*

  • 色相是光的颜色,不同色相代表不同颜色,黑色没有色相,灰色和白色包含所有色相

  • 饱和度,用于描述相同色相与明度下颜色纯度的变化,饱和度越高,颜色纯度越高,饱和度为零时,明度由低到高颜色由黑到灰到白

  • 明度或亮度,明度是亮度的一半,用于描述颜色的明暗变换,越大越白,越小越黑

6. 转换关系

RGBRGB 色彩模型中 R,G,B[0,1]R,G,B\in [0,1]

HSLHSLHSBHSB 色彩模型中 H[0,360];  L,BV,C,SL,SB[0,1]H\in [0^{\circ },360^{\circ }];\;L,B_V,C,S_L,S_B\in [0,1]

色相 HuesHues 定义为 H:={0,if C=060(0+GBC),if BV=R60(2+BRC),if BV=G60(4+RGC),if BV=BH:={\begin{cases}0,&{\text{if }}C=0\\60^{\circ }\cdot \left(0+{\frac {G-B}{C}} \right),&{\text{if }}B_V=R\\60^{\circ }\cdot \left(2+{\frac {B-R}{C}}\right),&{\text{if }}B_V=G\\60^{\circ }\cdot \left(4+{\frac {R-G}{C}}\right),&{\text{if }}B_V=B\end{cases}}

明度 LightnessLightness 定义为 L:=mid(R,G,B)=Xmax+Xmin2=BVC2L:=\operatorname {mid} (R,G,B)={\frac {X_{max}+X_{min}}{2}}=B_V-{\frac {C}{2}}

亮度 BrightnessBrightness 定义为 BV:=max(R,G,B)=Xmax;  Xmin:=min(R,G,B)=BVCB_V:=\max(R,G,B)=X_{max};\;X_{min}:=\min(R,G,B)=B_V-C

色度的范围 C:=XmaxXmin=2(BVL)C:=X_{max}-X_{min}=2(B_V-L)

HSBHSB 的饱和度 SaturationSaturation 定义为 SB:={0,if BV=0CBV,otherwiseS_{B}:={\begin{cases}0,&{\text{if }}B_V=0\\{\frac {C}{B_V}},&{\text{otherwise}}\end{cases}}

HSLHSL 的饱和度 SaturationSaturation 定义为 SL:={0,if L=0 or L=1C12BVC1=2(BVL)12L1=BVLmin(L,1L),otherwiseS_{L}:={\begin{cases}0,&\text{if }L=0\text{ or }L=1\\{\frac {C}{1-\left\vert 2B_V-C-1\right\vert }}={\frac {2(B_V-L)}{1-\left\vert 2L-1\right\vert }}={\frac {B_V-L}{\min (L,1-L)}},&{\text{otherwise}}\end{cases}}

引注


  1. 冈萨雷斯数字图像处理 ↩︎

  2. 不区分色彩空间、色品图、色度图和色域,统一使用色彩空间 ↩︎

  3. 抽象的概念使用色彩,具体的内容使用颜色 ↩︎

  4. 涉及波动光学、生理学和线性代数 ↩︎

举报

相关推荐

0 条评论