Games101学习笔记 Lecture 20: Color and Perception

Lecture 20: Color and Perception

一、光场和光图 lumigraph

1.全光函数 Plenoptic Function

  • 描述了从任意视角、任意时刻、任意位置、任意波长看到的所有东西
  • 灰度图:定义观察方向 P ( θ , ϕ ) P(\theta,\phi) P(θ,ϕ)(位置固定)
  • 彩色图:定义了波长 λ \lambda λ ------ P ( θ , ϕ , λ ) P(\theta,\phi,\lambda) P(θ,ϕ,λ)
  • 电影和全息电影:引入了时间t、以及任意观察位置 P ( θ , ϕ , λ , t , V x , V y , V z ) P(\theta,\phi,\lambda,t,V_{x},V_{y},V_{z}) P(θ,ϕ,λ,t,Vx,Vy,Vz)

2.光场相机 Light Field Camera

  • 能够捕捉场景中的 光场信息
  • 光场相机通常包含一个 微透镜阵列将每个像素的光线分解成多个方向,从而记录下光线的方向信息

3.光场重建

  • 指从光场数据中恢复场景的三维结构和表面属性的过程
  • 通过分析不同方向上的光线信息,可以重建出场景的深度、形状和材质等

二、颜色

1.物理基础

  • 光是一种电磁辐射,有不同频率(波长)的振荡组成
  • 人的眼睛只能感知特定波长范围内的电磁辐射,这个范围被称为 可见光谱 ,大约在 380 nm 到 780 nm 之间
  • 光的传播:光在传播过程中会与物质相互作用,例如 反射、折射、散射 等,这些相互作用 会影响光的颜色和强度

2.生物基础

  • 人眼通过视网膜上的感光细胞感知颜色。视网膜上有两种感光细胞:视杆细胞Rod cells 和视锥细胞 Cone cells
    • 视杆细胞: 主要在低光照条件下工作,感知灰度图像 ------ 光强
    • 视锥细胞: 主要在正常光照条件下工作,感知颜色(内部又分为三类 S\M\L)

3.同色异谱 Metamerism

  • 尽管两种光谱在物理上完全不同,但它们在人类眼中看起来是相同的颜色

原因

  • 人类视觉系统: 人类眼睛中的视锥细胞对光的波长敏感,但它们并不测量每个波长的光强度,而是三个视锥细胞的响应
  • 颜色混合: 当两种或多种不同颜色的光混合在一起时,它们可以产生新的颜色

重要性

  • 颜色再现: 由于 Metamers 的存在,我们不必复制现实世界场景的全光谱
  • 颜色匹配: Metamers 使颜色匹配成为可能

4.颜色再现 & 颜色匹配 reproduction / matching

颜色匹配函数

  • 这些函数描述了为了匹配特定波长(颜色)的光,需要混合多少红色、绿色和蓝色光

加色法 Additive Color

  • 原理
    • 三原色: 加色法使用三种原色:红色、绿色和蓝色(RGB),这三种颜色可以组合成任何其他颜色
    • 混合光: 当两种或多种颜色的光混合在一起时,它们会产生新的颜色
    • 颜色模型: 加色法通常使用颜色模型来描述颜色的混合。最常用的颜色模型是 RGB 颜色模型(红绿蓝)

5.颜色空间

①RGB颜色空间

  • 使用红色、绿色和蓝色三种原色来表示颜色
  • 色域受限

②CMYK 颜色空间

  • CMYK 颜色空间使用青色、品红色、黄色和黑色四种颜色来表示颜色
  • 打印中常用

③CIE XYZ颜色空间

  • CIE XYZ 颜色空间是一种通用的颜色空间,它可以表示所有可观察的颜色,分别对应于三个假想的原色 X、Y 和 Z
  • 用于颜色科学、颜色匹配和颜色管理

④HSV颜色空间

  • H色调、S饱和度、L亮度

⑤CIELAB颜色空间

  • CIELAB 颜色空间由三个坐标 L*、a* 和 b* 组成
    • L 星座: L* 星座描述颜色的亮度,范围从 0% 到 100%,其中 0% 表示黑色,50% 表示中性灰,100% 表示白色
    • a 星座: a* 星座描述颜色的红绿色调,正值表示红色调,负值表示绿色调
    • b 星座: b* 星座描述颜色的黄蓝色调 ,正值表示黄色调,负值表示蓝色调
相关推荐
Magnetic_h19 分钟前
【iOS】单例模式
笔记·学习·ui·ios·单例模式·objective-c
华清远见成都中心22 分钟前
哪些人适合学习人工智能?
人工智能·学习
重生之我在20年代敲代码34 分钟前
HTML讲解(二)head部分
前端·笔记·html·web app
天下无贼!41 分钟前
2024年最新版TypeScript学习笔记——泛型、接口、枚举、自定义类型等知识点
前端·javascript·vue.js·笔记·学习·typescript·html
秋秋秋叶1 小时前
Python学习——【2.3】for循环
python·学习
Deryck_德瑞克1 小时前
Java集合笔记
java·开发语言·笔记
YHPsophie1 小时前
ATGM331C-5T杭州中科微BDS/GNSS全星座定位授时模块应用领域
经验分享·笔记·单片机·信息与通信·交通物流
月夕花晨3742 小时前
C++学习笔记(30)
c++·笔记·学习