以下为个人学习笔记整理,涉及坐标内容统一用右手坐标系,课程官网

# Physical Basis of Color

# The Visible Spectrum of Light

image-20210205190604383

# Spectral Power Distribution(SPD)

光谱率密度(SPD)表示:在某个波长下的光线功率。

image-20210205190917660

# Linearity of Spectral Power Distributions

光谱率密度满足线性的特性。两种相关同时照射一个物体,两个光线的「谱光率密度」会叠加。

image-20210205191033486

# What is Color

颜色只是人对于不同波长的光线的一种感知。

# Biological Basis of Color

image-20210205191553917

# Retinal Photoreceptor Cells:Rods and Cones

  • Rods Cells:感知光线强度的细胞。
  • Cones Cells:感知光线的波长(颜色)。

image-20210205191744399

# Spectral Response of Human Cone Cells

「Cones Cells」细胞又可以分成三类(S、M、L):三种细胞对于不同波长的光线感知程度也不一样。

image-20210205192030270

已知一个光谱的情况下,用光谱上各个波长的光线强度和感知强度求积分,就可以得到三个值(S、M、L)。通过不同的 S、M、L 值,就可以表示一个光谱。

这样就可以通过 S、M、L 来表示我们所看到的颜色。

image-20210205192621859

image-20210205192910706

# Metamerism

有没有可能出现相同的 S、M、L 但是光谱却是不同的呢。—— 答案是可能。

左边和右边的光谱,最终的 S、M、L 值相同。

image-20210205193248873

# CIE RGB Color Matching

为了能够得到任意颜色的光线,可以先假定三种颜色的光线,并通过一定强度的混合,从而获得新的颜色的光线。

image-20210205193918232

# CIE RGB Color Matching Function

由此,如果我需要得到特定波长的光。就可以用一定系数的 rgb 三种颜色的光效表示。

image-20210205194141398

# Color Reproduction with Matching Function

因此,如果需要模拟一个完整的光谱。对匹配函数进行积分,并把任意波长位置的光线用 RGB 三种光线系数代替。

image-20210205194429236

进而就可以得到三个积分结果 RGB ,以下公式仅供理解,并非推导方程:

假设光谱可以表示为:S=sP(λ)s(λ)dλsP(λ)=rˉ(λ)+gˉ(λ)+bˉ(λ)rˉ(λ)s(λ)dλ+gˉ(λ)s(λ)dλ+bˉ(λ)s(λ)dλ\text{假设光谱可以表示为:} S = \int s_P(\lambda)s(\lambda)d\lambda \quad \to \quad s_P(\lambda) = \bar{r}(\lambda) + \bar{g}(\lambda) + \bar{b}(\lambda) \quad \to \quad \int \bar{r}(\lambda)s(\lambda)d\lambda + \int \bar{g}(\lambda)s(\lambda)d\lambda + \int \bar{b}(\lambda)s(\lambda)d\lambda

# Color Spaces

# A Universal Color Space:CIE XYZ

  • 定义好三个曲线 X,Y,ZX,Y,Z 。并假定不同的波长可以按照曲线定义的比例进行混合后得到。
  • 曲线 YY 的分布比较均与,切覆盖整个波长,所以可以把 YY 曲线视作亮度。

image-20210205202607150

# Separating Luminance,Chromaticity

为了能够直观的表示一个二维的颜色域。对 X,Y,ZX,Y,Z,进行归一化操作 ——$ x + y + z = 1$ 。

由于亮度不影响色域,所以假定 YY 值恒定,那么就可以在变化 X,ZX,Z 的情况下,绘制出 x,yx,y 平面上的色域图。

x=XX+Y+Zy=YX+Y+Zz=ZX+Y+Zx = \frac{X}{X+Y+Z} \quad \quad y = \frac{Y}{X+Y+Z} \quad \quad z = \frac{Z}{X+Y+Z}

# Gamut

这样就可以得到整个颜色空间内所有的颜色。

image-20210205203611874

从下图可以看出,不同的表示方法所能表示的颜色范围是有限的。

image-20210205204310421

# HSV Color Space(Hue-Saturation-Value)

  • H:定义颜色类型。
  • S:定义颜色接近于白色程度。
  • V:定义颜色的亮度。

image-20210205204738737

# CIELAB Space(AKA L*a*b*)

认为任意两个极端颜色之间互补。(白 - 黑,红 - 绿,黄 - 蓝)

  • L* 表示亮度
  • a * 表示红和绿
  • b * 表示黄和蓝

image-20210205205114797

# Additive Color

加色系统:不同颜色混合后,最终会变成白色。

image-20210205210825590

# CMYK:A Subtractive Color Space

减色系统:不同颜色混合后最终越来越接近黑色。

  • C:Cyan
  • M:Magenta
  • Y:Yellow

image-20210205210051491

image-20210205210036289