20 Games101 - 笔记 - 光场、颜色与感知

news2024/11/28 17:58:59

**20 ** 光场、颜色与感知

光场

眼睛成像

眼睛成像:我们看到这个三维世界,在眼睛里类似就是一幅二维的图。如果直接看到一幅记录了看到的光线信息的图,也能得到同样效果(虚拟现实)。
img
img

全光函数

全光函数可以描述我们可以看到的所有事物的集合。
定义:简单来说,我们假设在一个场景中,位置固定,可以四面八方地去看,则用极坐标可以定义我们的方向,全光函数描述了向某个方向看会看到什么样的值。
img
引入波长(颜色)得到彩色事物
img
引入时间,得到电影的概念。
img
引入三维坐标,得到全息电影的概念。
img

image-20240411193502689

采样全光函数

image-20240411195604749

光场的作用:
根据摄像机的位置查询相应光线强度。
img
参数化表示的方法:通过定义一个平面上点和角度,也可以定义两个平面上的点,通过两个坐标信息来表示。
img
左平面幕布看到的 右屏幕摄像机位置
参数化表示的两种方法:

  • 一种是固定(u,v), 看所有的(s,v)组成一张图,也就是表示了从不同点看到的外部世界的样子
  • 另一种是固定(s,v),所有的(u,v)组成一张图,也就是表示了从不同方向看同一个点的样子(把一个像素的irradiance展开为radiance)

img

光场相机

光场相机最重要的功能是支持先拍照,后期再重新聚焦。
光场相机原理:把像素换成了微透镜,把光分散到不同方向上去然后再记录下来。

img

如何将光场相机拍摄出的结果还原成类似于普通相机拍摄得到的结果?
image-20240411200533716

  • 优点:“虚拟”的移动相机(取不同方向的光线,好像在移动摄像机的位置)
  • 缺点:对胶片的要求高、成本高

颜色和感知

物理基础

牛顿发现太阳光可以被棱镜分解成不同颜色,这说明白光是多种颜色的光混合出来的。

光谱:光线在不同波长上的分布。
可见光光谱:波长大约在400nm~700nm
img
谱功率密度(SPD):描述光线在不同的波长的分布。
img
谱功率密度具有线性性质。
img

生物基础

颜色的定义:颜色是人类感知的一种现象;它不是光的一种根本的属性。不同波长的光不是"颜色“。
眼睛的结构:
img

  • 瞳孔 --> 光圈

  • 晶状体 --> 透镜

  • 视网膜 --> 感知的地方

    • 视网膜上有感光细胞
    • 视杆细胞:棒状,数量多,只感知光的强度而非颜色
    • 视锥细胞:锥形,数量少,用来感知颜色
      • 视锥细胞又被分为S, M, L三种,用来感知不同波长的光
      • 不同的人这三种视锥细胞分布非常不同

色彩三色理论(Tristimulus Theory of Color)

不同视锥细胞感知的结果 就是 其光谱响应曲线与光强曲线对应位置相乘再积分起来的结果
img
人眼无法测量,大脑也无法接收有关每种光波长的信息,眼睛只能”看到”三个响应值(S,M,L)并最终由大脑接受。

同色异谱

同色异谱:两个不同的光谱,它们最终投射到相同的(S,M,L)响应值。

颜色重建与匹配

image-20240411200900226
img
同时,系数可能是负数。
img

CIR RGB

CIE是一个组织,它们定义了RGB的系统,与之前的加色匹配设置相同,但原色和测试光都是单波长的光,通过测试来测量多少强度的三种原色加起来与测试光相同。
颜色匹配函数描述了每个 CIE RGB 原色光各自多少强度相加起来才能匹配 x 轴上给定波长的单色光。
我们得到的是对应的是单一波长的光,但是现实的光线SPD是很多波长组合在一起的,所以在表示现实颜色时我们要把每一个波长都考虑进去,自然要使用积分表示:
img

颜色空间

标准RGB系统

标准RGB系统:Standardized RGB (sRGB) 系统是一种被广泛运用于各种设备的色彩系统,但是RGB所能形成的色域是有限的。

CIE XYZ系统

CIE XYZ :这个系统我们使用XYZ表示颜色,并且由于绿色部分在轴上分布比较均匀,Y也表示亮度,与RGB的区别其实就是匹配函数的不同。
img
色域:一个颜色空间所有可能表示的颜色
img

基于感知的色彩空间(HSV)

HSV色彩空间被广泛地运用于“颜色选择器”。
img

CIELAB

img
L为亮度、a表示红绿、b表示蓝黄,这个空间认为轴的两端都是互补色
互补色是通过实验得到的,我们可以通过视觉暂留效果验证,比如先看一张反色的图,一段时间后换成空白,就能“看”到互补色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1586896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基因组组装:Hifiasm 使用教程

简介 Hifiasm[1] 是一个快速的单倍型解析 de novo 组装软件,最初设计用于 PacBio HiFi 读取。其最新版本可以通过利用超长的 Oxford Nanopore 读取支持端粒到端粒的组装。Hifiasm 可以生成单样本端粒到端粒的组装,结合了 HiFi、超长和 Hi-C 读取&#xf…

【示例】MySQL-4类SQL语言-DDL-DML-DQL-DCL

前言 本文主要讲述MySQL中4中SQL语言的使用及各自特点。 SQL语言总共分四类:DDL、DML、DQL、DCL。 SQL-DDL | Data Definition Language 数据定义语言:用来定义/更改数据库对象(数据库、表、字段) 用途 | 操作数据库 # 查询所…

Linux开发--进程

经典五问: 1.什么是程序?什么是进程? 从是否运行进行判断: gcc xxx -o pro,磁盘中生成的pro文件,就是程序 进程是程序一次运行活动 程序是静态的概念,进程是动态的概念。 2.如何查看系统中的进程: 在l…

无重复字符串的最长子串

题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 第一次提交记录 class Solution:def lengthOfLongestSubstring(self, s: str) -> int:if not s:return 0lookup set()left res 0for right in range(len(s)):while s…

2024年人工智能路线图

今天分享的是人工智能专题系列深度研究报告:《人工智能专题:2024年人工智能路线图》。 秘书制定部门的人工智能战略优先事项和政策,并且是关键的对话者与私营部门、联邦机构、州官员,以及主要的国际同行。这部长在白宫人力资源委员…

MindSQL

文章目录 关于 MindSQL安装代码调用📁 项目代码结构其它 关于 MindSQL MindSQL 是一个 Python RAG 库,旨在仅使用几行代码来简化用户与其数据库之间的交互。 MindSQL 与 PostgreSQL、MySQL、SQLite 等知名数据库无缝集成,还通过扩展接口将其…

基于ssm的前后端分离鲜花销售系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本鲜花销售系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

async+await——用法——基础积累

对于asyncawait,我一直都不太会用。。。。 今天记录一下asyncawait的实际用法: 下面是一个实际的使用场景: 上面的代码如下: async fnConfirmCR(){let type this.crType;let crId this.crId;if(typeof crId object){let ne…

SXSSFWorkbook实现分页查询导出

继上一篇性能爆炸!SXSSFWorkbook原文件上追加写入&分页导出_sxssfworkbook 模板写入-CSDN博客 那篇其实还没有完全爆炸,但为啥不删除那一篇呢,因为那篇也算是一种思路。这篇文章是属于另外一种思路的玩法。上一篇是读取一个已有的excel再…

智能合约:未来数字经济的基石

智能合约是一种自动执行交易的计算机协议,它以代码形式规定了交易双方的权利和义务,具有高度的可靠性和安全性。随着数字经济的发展,智能合约的重要性日益凸显,将成为未来数字经济的基石。 首先,智能合约在金融领域的应…

深度学习Vue框架生命周期(三)

一.什么是生命周期? 在vue中,生命周期就是vue实例程序从创建到销毁的这个过程,在生命周期中,不同阶段我们可以做不同的事情。vue的生命周期是创建阶段、挂载阶段、更新阶段、销毁阶段 二.什么是钩子函数? 钩子函数就是…

数学杂谈之三:数学思想方法

数学杂谈之三:数学思想方法 数学杂谈之一:数学的形态 https://blog.csdn.net/cnds123/article/details/137437208 数学杂谈之二:数学中的概念和理解 https://blog.csdn.net/cnds123/article/details/137500537 数学思维、数学思想和数学方法…

1200/天,长期兼职贵么?

今天收到一个客户询盘,问公司长期招聘一个兼职程序员,包月的这种。问我多少钱一个月,在这种需求未明确的情况下,单纯的问价格其实意义不大的,只要报价不在客户心理预期范围内基本没戏的。 关于定价 关于程序员价格的定…

【进阶六】Python实现SDVRPTW常见求解算法——差分进化算法(DE)

基于python语言,采用经典差分进化算法(DE)对 带硬时间窗的需求拆分车辆路径规划问题(SDVRPTW) 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. 代码…

【spring】@Profile注解学习

Profile介绍 在Spring框架中,Profile注解用于根据特定的配置文件来有条件地激活或禁用Bean的定义。这在开发和测试过程中非常有用,因为它允许你为不同的环境(如开发、测试、生产)定义不同的配置。 Profile不仅可以标注在方法上&…

arm内核驱动-中断

先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转,帮我们找到我们想要的东西。 安装教程可以找到,这里只讲怎么用。 在工程目录(包含所有你会用到的头文件等)下,先加载这个命令,可能要等待…

第十五讲:C语言内存函数

目录 1、C语言内存函数 1.1、memcpy函数的使用和模拟 1.2、memmove函数的使用和模拟 1.3、memset函数的使用 1.4、memcmp函数的使用 1、C语言内存函数 注意:下面这些函数的使用要包含头文件:string.h 1.1、memcpy函数的使用和模拟 函数声明为&am…

2024年第十七届 认证杯 网络挑战赛 (C题)| 云中的海盐 | 辐射传输方程 Stefan-Boltzmann分析 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看认证杯 网络挑战赛 (C题)&#xff01…

PTA qls学画图

这一天qls在学校综合楼等电梯的时候看到了电梯数字的样子,突然觉得这样写数字特别有趣,于是自己想用程序跑出来。由于正常大小输出数字太小了,qls决定加大难度,他想画出不同大小的数字,你能帮他解决这个问题吗&#xf…

ELK,ELFK日志收集分析系统

ELK简介 ELK是一套完整的日志集中处理解决方案,将ElasticSearch,Logstash和Kibana三个开源工具配合使用,实现用户对日志的查询、排序、统计需求。 ELK工作原理 在所有需要收集日志的服务器上部署Logstash,或者先将日志进行集中…