颜色与感知

Physical Basis of Color

牛顿通过实验认识到,白光是由多种颜色的光线混合起来得到的。而我们在生活中可以看到的光在波长约 400 mm-700 mm 之间。

Img

对于不同光,我们可以使用功率谱密度(Spectral Power Distribution,SPD)表示。功率谱密度展示了不同波长下光能量的多少。

Img

SPD 具有叠加性:

Img

而颜色,应该是人对于不同光线的感知,而光的一种属性,但不同波长的光确实会表现出不同的「颜色」。

Biological Basis of Color

Img

人的眼睛通过视网膜感受光线,在视网膜上存在着两种细胞:

  • 杆细胞(Rods)感受光线的明暗(也就是灰度值);
  • 锥细胞(Cones)感受颜色。锥细胞分为三种类型,对不同的波长的光线的响应不同。
Img

不同人的锥细胞的分布很不一样。

Tristimulus Theory of Color

锥细胞可以分为 S、M、L 三种,分别对短波,中波以及长波有更强的响应。

Img

对于这三条谱功率密度曲线,我们记为 \(r_S\left(\lambda\right)\)\(r_M\left(\lambda\right)\)\(r_L\left(\lambda\right)\) 那么对应的细胞感受到的能量是: \[ \begin{align*} S & =\int r_S(\lambda) s(\lambda) d \lambda \\ M & =\int r_M(\lambda) s(\lambda) d \lambda \\ L & =\int r_L(\lambda) s(\lambda) d \lambda \end{align*} \]

The Human Visual System

对于人眼来说,我们并不关注每一种波长的分布,我们只关心三个响应量 (S, M, L)。即使是不同的光谱,也有可能有相同的响应,这就是同色异谱现象。

Img

同⾊异谱(Metamerism)

同色异谱(Metamerism)指的是两种不同的谱密度分布得到了相同响应量,也就是相同的颜色。因此,当我们使用一些设备(例如屏幕)模拟其他颜色的时候,并不需要按照原来的谱密度进行模拟。

颜色匹配(Color Reproduction / Matching)

加色系统

常见的加色系统为 RGB 系统,在加色系统中,越多的颜色混合,得到的颜色越白。在 RGB 系统中我们只要得到 RGB 的谱密度 \(s_R\left(\lambda\right)\)\(s_G\left(\lambda\right)\)\(s_B\left(\lambda\right)\),就可以通过 \(s_R\left(\lambda\right) + s_G\left(\lambda\right) + s_B\left(\lambda\right)\) 得到对应的颜色。

每一种波长的颜色通过人眼的方式进行匹配,当两种颜色看上去一致的时候,对应的 RGB 能量就是对应的结果。但是可能存在某些颜色,使用 RGB 不可以调整出来,这个时候通过在原来的颜色上加入某些颜色使得颜色看上去一致。这个时候对应的颜色分量能量我们视为负数。

CIE RGB 匹配方程

CIE RGB 使用红色(波长 700 nm),绿色(波长 546.1 nm)以及蓝色(波长 435.8 nm)三种颜色的光进行实验,最终得到如下的结果:

Img

对应颜色的计算方式为: \[ \begin{aligned} R_{\mathrm{CIE} \mathrm{RGB}} & =\int_\lambda s(\lambda) \bar{r}(\lambda) d \lambda \\ G_{\mathrm{CIE} \mathrm{RGB}} & =\int_\lambda s(\lambda) \bar{g}(\lambda) d \lambda \\ B_{\mathrm{CIE} \mathrm{RGB}} & =\int_\lambda s(\lambda) \bar{b}(\lambda) d \lambda \end{aligned} \] 目前还会广泛使用 sRGB(standardized RGB)色彩空间,通过一个标准的屏幕来调整其他的屏幕色彩。这种方式被广泛使用,但是其色域比较窄。

色彩空间

CIE XYZ 色彩空间

XYZ 色彩匹配函数是人造的函数。其中 Y 的结果可以大致反应图片的亮度。这样的设计不仅所有颜色能量都是正值,同时可以表示出所有的颜色。

Img

我们令 \(x+y+z=1\),通过归一化的方式,我们可以将 XYZ 三维空间变成一个二维的空间进行表示: \[ \begin{aligned} x & =\frac{X}{X+Y+Z} \\ y & =\frac{Y}{X+Y+Z} \\ z & =\frac{Z}{X+Y+Z} \end{aligned} \]

Img

对于 XYZ 颜色的分布,我们可以得到以下结果:

  • 分布图的边缘都是纯色;
  • 中间的颜色没有那么纯;
  • 白色是最不纯的颜色,位置在 \(\left(\frac{1}{3},\frac{1}{3}\right)\) 处。

色域指的是一系列颜色集所能得到的颜色的集合。不同的颜色空间能够得到不同的色域。

感知颜色系统

HSV 色彩空间

HSV 色彩空间由色调(Hue),饱和度(Saturation)以及亮度(Lightness)三个部分组成。其中:

  • 色调表示颜色的种类;
  • 饱和度表示颜色的纯度(饱和度越低,颜色越白);
  • 亮度表示颜色的亮度(亮度越低,颜色越黑)。

颜色与感知(Color and Perception)

Physical Basis of Color

牛顿通过实验认识到,白光是由多种颜色的光线混合起来得到的。而我们在生活中可以看到的光在波长约 400 mm-700 mm 之间。

Img

对于不同光,我们可以使用功率谱密度(Spectral Power Distribution,SPD)表示。功率谱密度展示了不同波长下光能量的多少。

Img

SPD 具有叠加性:

Img

而颜色,应该是人对于不同光线的感知,而光的一种属性,但不同波长的光确实会表现出不同的「颜色」。

Biological Basis of Color

Img

人的眼睛通过视网膜感受光线,在视网膜上存在着两种细胞:

  • 杆细胞(Rods)感受光线的明暗(也就是灰度值);
  • 锥细胞(Cones)感受颜色。锥细胞分为三种类型,对不同的波长的光线的响应不同。
Img

不同人的锥细胞的分布很不一样。

Tristimulus Theory of Color

锥细胞可以分为 S、M、L 三种,分别对短波,中波以及长波有更强的响应。

Img

对于这三条谱功率密度曲线,我们记为 \(r_S\left(\lambda\right)\)\(r_M\left(\lambda\right)\)\(r_L\left(\lambda\right)\) 那么对应的细胞感受到的能量是: \[ \begin{align*} S & =\int r_S(\lambda) s(\lambda) d \lambda \\ M & =\int r_M(\lambda) s(\lambda) d \lambda \\ L & =\int r_L(\lambda) s(\lambda) d \lambda \end{align*} \]

The Human Visual System

对于人眼来说,我们并不关注每一种波长的分布,我们只关心三个响应量 (S, M, L)。即使是不同的光谱,也有可能有相同的响应,这就是同色异谱现象。

Img

同⾊异谱(Metamerism)

同色异谱(Metamerism)指的是两种不同的谱密度分布得到了相同响应量,也就是相同的颜色。因此,当我们使用一些设备(例如屏幕)模拟其他颜色的时候,并不需要按照原来的谱密度进行模拟。

颜色匹配(Color Reproduction / Matching)

加色系统

常见的加色系统为 RGB 系统,在加色系统中,越多的颜色混合,得到的颜色越白。在 RGB 系统中我们只要得到 RGB 的谱密度 \(s_R\left(\lambda\right)\)\(s_G\left(\lambda\right)\)\(s_B\left(\lambda\right)\),就可以通过 \(s_R\left(\lambda\right) + s_G\left(\lambda\right) + s_B\left(\lambda\right)\) 得到对应的颜色。

每一种波长的颜色通过人眼的方式进行匹配,当两种颜色看上去一致的时候,对应的 RGB 能量就是对应的结果。但是可能存在某些颜色,使用 RGB 不可以调整出来,这个时候通过在原来的颜色上加入某些颜色使得颜色看上去一致。这个时候对应的颜色分量能量我们视为负数。

CIE RGB 匹配方程

CIE RGB 使用红色(波长 700 nm),绿色(波长 546.1 nm)以及蓝色(波长 435.8 nm)三种颜色的光进行实验,最终得到如下的结果:

Img

对应颜色的计算方式为: \[ \begin{aligned} R_{\mathrm{CIE} \mathrm{RGB}} & =\int_\lambda s(\lambda) \bar{r}(\lambda) d \lambda \\ G_{\mathrm{CIE} \mathrm{RGB}} & =\int_\lambda s(\lambda) \bar{g}(\lambda) d \lambda \\ B_{\mathrm{CIE} \mathrm{RGB}} & =\int_\lambda s(\lambda) \bar{b}(\lambda) d \lambda \end{aligned} \] 目前还会广泛使用 sRGB(standardized RGB)色彩空间,通过一个标准的屏幕来调整其他的屏幕色彩。这种方式被广泛使用,但是其色域比较窄。

色彩空间

CIE XYZ 色彩空间

XYZ 色彩匹配函数是人造的函数。其中 Y 的结果可以大致反应图片的亮度。这样的设计不仅所有颜色能量都是正值,同时可以表示出所有的颜色。

Img

我们令 \(x+y+z=1\),通过归一化的方式,我们可以将 XYZ 三维空间变成一个二维的空间进行表示: \[ \begin{aligned} x & =\frac{X}{X+Y+Z} \\ y & =\frac{Y}{X+Y+Z} \\ z & =\frac{Z}{X+Y+Z} \end{aligned} \]

Img

对于 XYZ 颜色的分布,我们可以得到以下结果:

  • 分布图的边缘都是纯色;
  • 中间的颜色没有那么纯;
  • 白色是最不纯的颜色,位置在 \(\left(\frac{1}{3},\frac{1}{3}\right)\) 处。

色域指的是一系列颜色集所能得到的颜色的集合。不同的颜色空间能够得到不同的色域。

感知颜色系统

HSV 色彩空间

HSV 色彩空间由色调(Hue),饱和度(Saturation)以及亮度(Lightness)三个部分组成。其中:

  • 色调表示颜色的种类;
  • 饱和度表示颜色的纯度(饱和度越低,颜色越白);
  • 亮度表示颜色的亮度(亮度越低,颜色越黑)。
Img

CIELAB 空间(L*a*b)

Lab 颜色空间也是根据人的感知建立的颜色空间。共包含了 3 个方向,L* 方向指的是亮度,a* 方向指的是红绿互补色对,b* 方向是蓝黄互补色对。之所以会选择这样的互补色对是因为黑白色,红绿色以及黄蓝色是三对互补色。

Img

减色系统

CMYK 颜色空间

CMYK 颜色空间是一种减色系统,当混合的颜色越多,得到的颜色越黑。CMYK 广泛应用于打印中。CMYK 包含 4 种基础色,分别是青色(Cyan),品红(Magenta),黄色(Yellow)和黑色(Key)。使用前三种颜色就可以得到黑色,但是基于成本原因,还是加入了 K 降低成本。

Img