Chapter 19 Color

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)

Chapter 19 Color

关于颜色的研究分为三个方面:

  • 物理方面:光在空间中传播
  • 化学方面:光与表面的作用
  • 生理方面:人对于光的反应

图形学中通常只关注第一点。

一个光子会携带能量 Δ E \Delta E ΔE,它与波长 λ \lambda λ有关

λ Δ E = 1239.9 \lambda\Delta E = 1239.9 λΔE=1239.9

其中 Δ E \Delta E ΔE以电子伏特为单位。

图形学一般不以单独的光子作为模拟对象,而是通过一个光子的集合来同时模拟。集合里的每个光子携带一部分能量,所以将它们一并代表一个光谱(spectrum)。光谱可以认为是一个光子数和波长关系的图表,由于相同波长的两个光子携带的能量是一个光子的两倍,所以这个图表也可以表示为能量和波长关系的图表:

在这里插入图片描述

当模拟光时,可以追踪携带光谱的每一条光线,这种渲染器称为spectral renderer,但是这种渲染器计算消耗很大,通常使用红绿蓝分量来标识光谱。

颜色的定义:

Color is the aspect of visual perception by which an observer may distinguish differences between two structure-free fields of view of the same size and shape, such as may be caused by differences in the spectral composition of the radiant energy concerned in the observation

19.1 Colorimetry

人类视网膜的光感应器分为rods和cones。rods对光灵敏度很高主要应对低光的环境,在普通光强度环境下cones会发挥作用,cones有三种类型,共同负责颜色视觉的处理。

测量颜色的方法通过测量人对于颜色块的反应,这就需要颜色匹配测试(color matching experiments)。

19.1.1 Grassmann’s Law

Grassmann加色法则:

  • Symmetry law(对称性):如果A匹配B,那么B也匹配A
  • Transitive law(传递性):如果A匹配B、B匹配C,那么A匹配C
  • Proportionality law(成比例性):如果A匹配B,那么 α \alpha αA匹配 α \alpha αB
  • Additivity law(加和):如果A匹配B,C匹配D,那么A+C匹配B+D,A+D匹配B+C

19.1.2 Cone Responses

每个cone都对一定波长敏感,但是不同cone对于不同波长的敏感度达到峰值,因此将cone分类为SML三种,分别对应短波长、中波长和长波长。

在这里插入图片描述

对于一个给定的光谱成分 Φ ( λ ) \Phi(\lambda) Φ(λ)的实际反映,对应每种类型的cone为

L = ∫ λ Φ ( λ ) L ( λ ) d λ M = ∫ λ Φ ( λ ) M ( λ ) d λ S = ∫ λ Φ ( λ ) S ( λ ) d λ L = \int_{\lambda}\Phi(\lambda)L(\lambda)d\lambda \\ M = \int_{\lambda}\Phi(\lambda)M(\lambda)d\lambda \\ S = \int_{\lambda}\Phi(\lambda)S(\lambda)d\lambda \\ L=λΦ(λ)L(λ)dλM=λΦ(λ)M(λ)dλS=λΦ(λ)S(λ)dλ

这三个值也被称为三刺激値(tristimulus values)。

19.1.3 Color Matching Experiments

人眼的光感接收器不仅仅是一个近似线性积分器,因此可以找到两个不同的光谱成分 Φ 1 ( λ ) \Phi_1(\lambda) Φ1(λ) Φ 2 ( λ ) \Phi_2(\lambda) Φ2(λ)会产生相同的三色激值(LMS),这个现象称为异谱同色(metamerism),颜色匹配实验正是基于这个特性。

19.1.4 Standard Observers

光谱三刺激值(spectral tristimulus values)

在这里插入图片描述

这个颜色匹配函数为CIE.RGB

在这里插入图片描述

这个颜色匹配函数为CIE.XYZ

关于CIE.RGB和CIE.XYZ的详细描述见:

https://www.cnblogs.com/freshair_cnblog/p/11493706.html

19.1.5 Chromaticity Coordinates

每一种颜色都可以通过一个三色刺激值组(X, Y, Z)来表示,把这个值映射到3D空间,这个空间称为颜色空间(color space),颜色在颜色空间中形成的体积称为色域(color gamut)。

在3维空间中观察颜色比较抽象,此外颜色的Y值与它的明度是对应的,所以考虑将三色刺激值投射到2维空间中来近似它的色彩信息,称为色度图(chromaticity diagram)

x = X X + Y + Z y = Y X + Y + Z z = Z X + Y + Z x = \frac{X}{X+Y+Z} \\ y = \frac{Y}{X+Y+Z} \\ z = \frac{Z}{X+Y+Z} \\ x=X+Y+ZXy=X+Y+ZYz=X+Y+ZZ

由于 x + y + z = 1 x+y+z=1 x+y+z=1,所以 z z z值是冗余的。 x x x y y y两个值不能够表示一个颜色,所以可以结合 Y Y Y值,因此转换公式为

X = x y Y Z = 1 − x − y y Y X = \frac{x}{y}Y \\ Z = \frac{1-x-y}{y} Y X=yxYZ=y1xyY

将单色光绘制在色度图中,得到一个马蹄形的图

在这里插入图片描述

其他颜色都会位于曲线内部,紫色的线不表示一个单色,而是短波和长波的结合。

通过色度图可以观察到颜色混合的一些本质,但是它本身还是有一些缺陷,首先是马蹄形内部不应该被染色,因为不同的颜色生成系统会有不同的原色,并且只能产生色度图的部分内容,二是CIE颜色匹配函数并不表示人眼cone对于颜色敏感程度,也就是说两点之间的距离不能表示两种颜色感知上的不同。

另一个更加普遍的色度图CIE u ′ v ′ u'v' uv解决了部分问题。

u ′ = 4 X X + 15 Y + 3 Z v ′ = 9 Y X + 15 Y + 3 Z u' = \frac{4X}{X+15Y+3Z} \\ v' = \frac{9Y}{X+15Y+3Z} u=X+15Y+3Z4Xv=X+15Y+3Z9Y

在这里插入图片描述

u ′ = 4 x − 2 x + 12 y + 3 v ′ = 9 y − 2 x + 12 y + 3 u' = \frac{4x}{-2x+12y+3} \\ v' = \frac{9y}{-2x+12y+3} u=2x+12y+34xv=2x+12y+39y

19.2 Color Space

基于之前的说明,每个颜色都可以被三个数字表示,例如(X, Y, Z)三刺激値,但是它的原色是虚构的,意味着不能够构建一个具有三个都具有正值的光源的设备来产生所有可见光的所有颜色。由于这个原因图像的编码和图像的计算是不实际的,比如说很多XYZ值并不对应一个实际的颜色,这就会造成编码内容的浪费。不过CIE XYZ还是有一定的应用的,它是设备无关的,所以可以用于颜色空间之间的转换。

19.2.1 Constructing a Matrix Transform

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值