跳转至

10 Color and Perception

文本统计:约 1356 个字

10.1 Physical Basis of Color

The Visible Spectrum of Light 可见光光谱

Spectral Power Distribution (SPD) 谱功率密度

谱功率密度是度量光的重要属性,表示了单位波长下光的能量,单位是辐射单位/纳米 (比如说 watts/nm),或者说干脆没有单位。我们也可以使用“相对单位”扩充到最大波长,以便进行跨波长比较(当不关注绝对单位时)。同时 SPD 具有线性性质,可以进行线性叠加。

10.2 Biological Basis of Color

Color is a phenomenon of human perception; it is not a universal property of light

视网膜具有感光细胞(Retinel Photoreceptor Cells):棒状和锥形细胞(Rods and Cones )

Rods(棒状细胞):感知光的强度,可以得到灰度图。~120 million

Cones(锥形细胞):感知光的颜色。~6-7 million

由于三种类型的细胞对于波长的反应不同,Cones可以进一步划分为三类:S-Cone,M-Cone,L-Cone。

不同的人拥有完全不同数量以及分布的锥形细胞

Tristimulus Theory of Color

以下是人类锥形细胞的相应曲线,SML 是人类最终看到的结果(只是一个数,不是光谱而是积分的结果)。

从而我们可以大概总结一下人的视觉感知系统,人眼无法测出每个波长的光线强度,人眼只是得到了三个值 (S, M, L) 然后再将该信息传递给大脑

Metamerism

Metamerism (同色异谱):不同的光谱 spectra 映射到了相同的 SML 相应,对于人来说,他们的颜色就被认为是相同的。这种现象对于颜色的重现来说非常重要,我们并不需要去复现一个完整的光谱,例如我们再现实器仅使用每个像素的三个颜色便可重现真实场景感知到的光

10.3 Color Reproduction / Matching

给一组基色光,每个光都有自己的光谱分布 (例如使用 RGB 显示像素)

\[ S_R(\lambda),S_G(\lambda),S_B(\lambda) \]

调整这些光的亮度并把它加在一起

\[ RS_R(\lambda)+GS_G(\lambda)+BS_B(\lambda) \]

于是颜色就可以使用 \(R,G,B\) 三个标量来表示,这个系数可以是负的(具体案例减 Color Matching 2)

Color Matching 1

现在要匹配这样一个颜色

Color Matching 2

有时候我们也会遇到无法匹配的情况,我们可以选择给左边需要混合的颜色加一个颜色,这个就相当于右边减掉一个颜色,由此得到相同的颜色

CIE RGB Color Matching Experiment

Same setup as additive color matching before, but primaries are monochromatic light (single wavelength) 基色光都是单一波长的光

CIE RGB Color Matching Functions

Graph plots how much of each CIE RGB primary light must be combined to match a monochromatic light of wavelength given on x-axis 下面这张图展示了某一波长的光需要多少基色光混合得到

那么对于任意光谱 \(s\), 感知到的光被下面的公式匹配(缩放CIE RGB原色)

\[ \begin{aligned} R_{\mathrm{CIE \, RGB}} = \int_{\lambda} s(\lambda) \bar{r}(\lambda) \, d\lambda\\ G_{\mathrm{CIE \, RGB}} = \int_{\lambda} s(\lambda) \bar{g}(\lambda) \, d\lambda\\ B_{\mathrm{CIE \, RGB}} = \int_{\lambda} s(\lambda) \bar{b}(\lambda) \, d\lambda\\ \end{aligned} \]

10.4 Color Spaces

RGB 颜色空间一般称为 Standardized RGB(sRGB),先让特定的机器做好之后,让其他机器模仿这种RGB标准。现在被广泛采用。

但是其色域 gamut 是有限的,由此我们引入一个另一个系统 CIE XYZ,我们先人工地定义了 color matching function,让其严格的为正,并且包含了所有可见光。

  • Primary colors with these matching functions do not exist 这样的原色光是不存在的
  • Y is luminance (brightness regardless of color) 由于Y包含了全部的波长,并且对称性好,所有Y在一定程度上可以代表亮度

Luminance 亮度: Y

Chromaticity: x,y,z defined as 色度

\[ \begin{aligned} x=\frac{X}{X+Y+Z}\\ y=\frac{Y}{X+Y+Z}\\ z=\frac{Z}{X+Y+Z}\\ \end{aligned} \]

由于 \(x+y+z=1\) 我们只需要记录三者之中的两个,我们一般会选择 \(x\)\(y\) ,并固定了 \(Y\),然后在右图显示了得到的结果,被称为色域。色域的边界曲线被称为 spectral locus, 边界上每一个点都对应了一条单色光,然后所有色域内部的颜色都越来越不纯

Gamut 色域

Gamut is the set of chromaticities generated by a set of color primaries

Different color spaces represent different ranges of colors

So they have different gamuts, i.e. they cover different regions on the chromaticity diagram

其他的颜色空间比如说有 HSV Color Space (Hue - Saturation - Value)

Axes correspond to artistic characteristics of color 轴线对应色彩的艺术特征,包括了色调,饱和度,亮度。Widely used in a “color picker” 被应用于颜色拾取器

还有比如说 CIELAB Space, 也被称为 L*a*b*

  • L* 是lightness(brightness)
  • a*和b*是互补颜色对(a*是red-green,b*是blue-yellow)。

CMYK: A Subtractive Color Space 我们之前所说的都是加色系统,而这个颜色系统是减色系统,混得越多越黑,包括了 Cyan, Megenta, Yellow and Key

我们可以混合 CMK可以直接得到 K,那么我们为什么还需要一个K

因为这是一个实际的系统,比如说印刷。我们需要用到大量的黑色,而直接用黑色的颜料成本更低,混合彩色的成本更高。

评论区

对你有帮助的话请给我个赞和 star => GitHub stars
欢迎跟我探讨!!!