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* 星座描述颜色的黄蓝色调 ,正值表示黄色调,负值表示蓝色调
相关推荐
南宫生42 分钟前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__1 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨1 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
数据的世界013 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐3 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习
OopspoO6 小时前
qcow2镜像大小压缩
学习·性能优化
A懿轩A6 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
居居飒6 小时前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
kkflash37 小时前
提升专业素养的实用指南
学习·职场和发展
Hejjon7 小时前
SpringBoot 整合 SQLite 数据库
笔记