色彩学学习笔记

科技资讯 投稿 4900 0 评论

色彩学学习笔记

色彩学学习笔记

可见光

颜色的属性

颜色有三种属性

    色相/色调(Hue)
    • 颜色的主色调,如红色、蓝色
    • 由占主要比例的波长决定
  • 亮度(Value/Lightness/Brightness)
      颜色的明暗程度
  • 无色光的属性只有亮度
  • 色度/饱和度(Saturation/Chroma/Color Purity)
      颜色的纯净程度
  • 色彩空间

    CIE

      平时我们所说的 RGB 值实际上是设备相关的,它没规定用来混合的 R、G、B 究竟是什么颜色,造成的结果是同样的 RGB 值在不同设备上会展示出不同的颜色
    • CIE 色彩空间是设备独立的,设备可以将它们自己色彩空间里的值映射到 CIE 色彩空间上,这样就提供了规范的色彩空间,用来在不同设备之间传递信息

    颜色匹配实验

    定义三原色,再通过颜色叠加以得到其他颜色,如果混合色和待测色达成一致,那么三原色的分量被称为待测色的三色刺激值

    CIE RGB

      有负半轴是因为,并不能通过直接混合三原色以得到待测光,只能在待测光中加入三原色使得颜色匹配
      • 说明选择的三原色所组成的空间并不能包含所有人类能感知到的颜色
    \[C(C \equiv R(R+G(G+B(B \]

    \(C=\frac{R}{R+G+B}(R+\frac{G}{R+G+B}(G+\frac{B}{R+G+B}(B(3\

    格拉斯曼定律告诉我们人类对色彩的感知(大约)是线性的

      对于已知 SPD 曲线 \(I(\lambda\ 的光源,可以对颜色匹配函数求积分以得到它的三色刺激值
    • 给定两个 SPD 曲线,如果算出来的三色刺激值是相同的,则感知到的颜色也是相同的
    \[ \begin{aligned} R & =\int_0^{\infty} I(\lambda \bar{r}(\lambda d \lambda \\ G & =\int_0^{\infty} I(\lambda \bar{g}(\lambda d \lambda \\ B & =\int_0^{\infty} I(\lambda \bar{b}(\lambda d \lambda \end{aligned} \]
    色度图

    \(r=\frac{R}{R+G+B}(R\、\(g=\frac{G}{R+G+B}(R\\(b=\frac{B}{R+G+B}(R\ 为色度坐标(chromaticity coordinates),我们只要知道任意两个坐标的值,就能算出第三个坐标的值

    CIE XYZ

    \(\bar{x}(\lambda\、\(\bar{y}(\lambda\\(\bar{z}(\lambda\

      新的颜色匹配函数在所有地方都大于等于零
    • \(\bar{y}(\lambda\ 等于光度函数(luminosity function),是表示亮度的分量

    CIE XYZ 的色度图(事实上,色度图是三维曲线,我们看到的是它在 xy 平面上的投影):

      色度图中 E 点是白光,它被定义为 x=1/3,y=1/3,z=1/3
    • 沿着光谱轨迹能得到各种色调
    • 远离 E 点颜色的饱和度变高

    CIE LAB

    CIE LAB 是一种感知统一的色彩空间

      L 分量基本符合人类对亮度的认知

    YUV

    YUV 并不是绝对色彩空间(absolute color space)

      绝对色彩空间是不依赖任何外部因素就可以准确表示颜色的色彩空间,比如 CIE LAB
    • YUV 只是对 RGB 信息的编码,具体的颜色取决于采用的 RGB 三原色

    sRGB

    1996 年,微软和 HP 定义了标准的 RGB 原语,且白点被定义为 D65 光源,这个色彩空间被称为 standard RGB(sRGB)

      定义了白点意味着 sRGB 是假设了观看条件的
    • sRGB 空间是 CIE XYZ 的子空间

    伽马编码

    人眼对亮度的感知不是线性的,对较暗的光线更敏感,但对较强的光线不是那么敏感,如果不对图像做伽马编码,就会为人类无法区分的高亮度分配太多的比特,而为人类敏感的低亮度分配太少的比特

    \[V_{out}=AV_{in}^{\frac{1}{\gamma}} \]

    其中 \({\gamma}\ 是伽马值,sRGB 的伽马值约等于 2.2

    CRT 显示器有一个电子特性是光强和电压并不是线性的,而且表现出的关系也符合伽马编码,只不过 \({\gamma}\ 的值是负数,利用这个特性 sRGB 图像可以不做解码直接在 CRT 显示器上输出

    色感一致性

      因为我们的眼睛没法适应照片里的光照,只能适应你观看照片时的场景光

    色温

    光源色温的定义为与此光源发出相似的光的黑体辐射体所具有的开尔文温度

      在热力学中,黑体是一个理想化的物体,它能够吸收外来的全部电磁辐射,并且不会有任何的反射与透射。随着温度上升,黑体所辐射出来的电磁波与光线则称做黑体辐射
    • 在实际应用中,只有当光源发出的光和黑体辐射的光类似时,色温才有定义。也就是,红-橙-黄-白-浅蓝这些颜色。当讨论色温时,讨论例如绿色、紫色的色温是没有意义的

    光源的 SPD 同样可以转换为三刺激值,并被正则化为色度坐标,这个坐标就白点

    色彩适应

    von Kries 模型

    von Kries 模型是一种色彩适应方法

    \(i_r(\lambda\,我们可以这样来计算它们

    \[\begin{array}{rcl} L &=& k\int_{\lambda} \bar{l}(\lambda i_r(\lambda d\lambda \nonumber \\ M &=& k\int_{\lambda} \bar{m}(\lambda i_r(\lambda d\lambda \nonumber \\ S &=& k\int_{\lambda} \bar{s}(\lambda i_r(\lambda d\lambda \end{array} \]

    \(\bar{l}(\lambda\、\(\bar{m}(\lambda\\(\bar{s}(\lambda\ 是三种视锥细胞的光谱灵敏度函数(spectral sensitivity function)

    \(i_r(\lambda\ 来自于

    \[i_r(\lambda = i(\lambda r(\lambda \]

    \(i(\lambda\ 表示光源,\(r(\lambda\ 表示给定平面的光谱反射率(spectral reflectivity)

    \(i(\lambda\ 被另一个光源 \(i_a(\lambda\ 替换掉,此时锥细胞的反应我们记作 \(L_a\\(M_a\\(S_a\

    \[\left [ \begin{array}{@{}l@{}} L_{a} \\ M_{a} \\ S_{a} \\ \end{array} \right ] = \left [ \begin{array}{@{}lll@{}} k_L & 0 & 0 \\ 0 & k_M & 0 \\ 0 & 0 & k_S \\ \end{array} \right ] \left [ \begin{array}{@{}l@{}} L \\ M \\ S \\ \end{array} \right ] \]

    \(k_L=L_{max}a/L_{max}\、 \(k_M=M_{max}a/M_{max}\\(k_S=S_{max}a/S_{max}\,带 max 下标的符号表示给定光源下 LMS 视锥细胞对白点刺激的最大反应

    \[\left [ \begin{array}{@{}l@{}} L \\ M \\ S \\ \end{array} \right ] = \mathbf{M} \left [ \begin{array}{@{}l@{}} X \\ Y \\ Z \\ \end{array} \right ]. \]

    参考材料

    编程笔记 » 色彩学学习笔记

    赞同 (24) or 分享 (0)
    游客 发表我的评论   换个身份
    取消评论

    表情
    (0)个小伙伴在吐槽