RGB_system
gemini https://aistudio.google.com/prompts/1B22KeDaEpM8XCgJnCFfro6Y29_4ShNFS
- RGB 的原理是光的叠加,所以都开到 255 的时候就是白色
- 类似的颜色系统包括 CMYK,但是采用减色法,适用于印刷
- 10bit 色深就是每个通道采用 1024 个级别
- RGB 三个通道的定义建立在色度图的基础上,一种 RGB 定义给出一个色度图上的色彩空间
CIE 1931 #
- 色彩空间建立在 CIE 1931 色度图的基础上,用一个马蹄形的二维空间包含了人眼能看到的所有色度
- RGB 可以定义为色度图上的三个坐标,相连的三角形就是对应的色彩空间
- 除此之外还需要定义白点和 Gamma 函数
- 后者的意思是亮度不应该是均匀变化的,因为人眼对暗部的变化更敏感,所以一般采用指数为 $\gamma=2.2$ 的幂律曲线
- CIE 1931 基于对人的视网膜上 L、M、S 三种感光细胞对不同光谱的反应(虽然样本较小),三种颜色的相对大小比例可以用 x 和 y 两个参数表示
- 这个色度图不包含亮度信息,橙色和棕色在色度图上位于同一点
- 马蹄的弧形边界(称为 spectral locus)代表最纯粹的单色光,而底边(lines of purple)是由蓝色和红色混合产生的,中心的所有点都代表单色光的某种混合
- 一个缺点是这个空间相对于人的感知来说是不均匀的,相同一段距离可能不对应人眼中的同等的颜色改变
更宽广的颜色范围 #
- 「颜色」是一种生物学概念,对应于人类视网膜细胞的感知,而紫外和红外光不会产生视网膜细胞的感知
- 有的人(12% 的女性)会有四种视觉细胞,可以对细致的颜色差别作出区分
- 晶状体会出于保护视网膜的原因吸收所有的紫外线,如果一个人摘除晶状体就可能会看到紫外线,表现为一种白、蓝、紫混合的颜色
- 一个著名的例子是莫奈晚年接受白内障手术后的作品中更多地使用了蓝色和紫色
- 人无法看到红外线,是因为红外光子能量太低,无法触发感光细胞中的化学反应
- L 细胞在 700-720nm 逐渐失去感知,S 细胞对 400nm 仍有反应,但是在 400 以下反应消失(同时晶状体也会阻隔紫外光)
Quantitative indicators #
- 用 hue、saturation、lightness 描述颜色的系统称作 HSL(或者用 value 替代 lightness 的 HSV)
- 这里的色彩空间是一个圆柱,三个维度分别是色轮的角度(hue)、到主轴的距离(饱和度)、圆柱的高度(亮度)
- RGB 的最大值减最小值是色度 chroma
- 最大和最小值的平均是亮度 lightness
- 饱和度计算为 $S = (C_\mathrm{max}-C_\mathrm{min}) / \left(1-\left|2L-1\right|\right)$
- $L=0.5$ 时分母为 1 最大,$L=0$ 或者 $L=1$ 时饱和度无穷大
- 纯红/蓝/绿的饱和度都是 1
- 色相对应一个 0-360 的取值
- 对比度是另外一个框架,通过两个颜色的相对亮度的比较得到,完全相同时对比度为 1,纯白对纯黑的对比度是 21
- RGBA 中的 A 指的是透明度,指的是和背景加权的时候本颜色所占的比重