GAMES101(19节,相机)

相机

synthesis合成成像:比如光栅化,光线追踪,相机是capture捕捉成像,

但是在合成渲染时,有时也会模拟捕捉成像方式(包括一些技术 动态模糊 / 景深等),这时会有涉及很多专有名词,以及计算公式,因此我们要储备摄像机基础知识

针孔相机:

小孔成像,光线打击到物体,从物体反射后的光线从小孔穿过,投射到成像面呈现倒影

思考如果没有这个小孔会成像吗?不能,因为对应成像面的每一个点都接收四面八方来的光线,因此最后的颜色杂乱,如果有了小孔,相当于只接收一个方向的光线,去决定这个成像点的颜色

我们之前模拟的光线追踪相机,就相当于针孔相机,每个成像点(像素中心/采样点)都是特定方向的光线决定的

无法做出景深效果 ,因为不存在焦点,也就是没有特定的物距让成像清晰,而是距离越远越小,并不存在是否清晰,理论上应该是清晰的,但是由于小孔的光学衍射极限等影响,实际并不清晰

(薄片)透镜相机:

光线打击到透镜,投影到sensor

平行光会穿过焦点,通过透镜中心的光线会不改变,通过焦点的光会平行出去

如果光线正好穿过透镜中心,方向不会改变

zo物距,zi像距,f焦距

也就时如果zo越大,zi越小,zo越小,zi越大

Deth of field景深DOF:

根据上面的公式,当f固定,zo固定,那么zi也固定,因此如果蓝色位置面板不在zi的位置,那么图像就会模糊,原本一个点形成圆圈

COC计算圆形的大小:相似三角形,A为透镜高度,和A成正比

当透镜位置不变,物距不变,成像平面不变,透镜/光圈越大,物体越模糊

对于世界物体的位置不同,也会影响在成像平面的COC大小

景深:在COC比较小的范围时,场景中的一段距离,比如coc的大小和像素大小差不多,则图像锐利

这里就是利用本节的其他公式,首先推导出右边的关系,再根据代换,表示DF,DN的景深位置

可以看右边这个图片,近处的酒瓶和远处的酒瓶都很模糊,只有中间的酒瓶是清楚的 

专有名词:

shutter speed快门

控制开放时间(允许光线进入的时间),如果速度越快,开放时间越短,越少的光线进入相机,图像比较暗)可以增大光圈保证图片亮度

运动模糊:当快门打开的时间内,物体产生了运动,光线都会被记录下来,因此图像是模糊的

由于快门打开不可能瞬时发生,需要开盖,因此对于高速运动的物体,会产生一定的扭曲

高速摄影:每秒拍更多的相片,然后通过正常的帧数播放,因此每张照片的快门时间都很少

延迟摄影:用非常慢的速度拍摄照片,同样需要减小光圈保证较少的曝光度

sensor传感器

存储光能量,记录irradiance,通常以35mm为基准

focal length焦距,focal point焦点

焦点:平行光线穿过透镜/光圈后,最后汇聚的点为焦点,

可逆性:同样如果从一个点照射透镜,会形成平行光

焦距:平行光穿过小孔/透镜时形成的焦点到透镜光心距离,

下图为小孔成像相机:

Field of viewFOV视场:

看到多大范围,2 * 一半的角度(反正切(h/2f)),h为传感器的高度,f为焦距

反正切:若tanA=1.9/5,则 A=arctan1.9/5;若tanB=5/1.9,则B=arctan5/1.9。

当h不变时,如果f焦距变小,fov变大,且看到的距离越远,成反比

当f不变时,如果h越大,fov越大,成正比

Exposure曝光(图像亮度):
H = T * E

Exposure = time * irradiance(时间 * 收到的光能量,时间越长能量越多,曝光越高越亮)

光圈

irradiance受光圈大小(aperture孔径)影响(每个时刻接收到多少光,最大为镜头大小,通过f_number / stop(简称FN)控制,f_stop越小光圈越大)

f_number / stop :焦距 / 光圈直径 == 简称N = F / D(A)        

也就是说想要更清楚的照片,需要C越小,需要f/N值越小,也就是N(f_number值)越大

光圈直径越小,C越小,景深距离越大,大量的拍摄范围都是清晰,否则图片会模糊

光圈越大,景深越小

当f_stop值提高为原来两倍,光圈面积缩小为原来的1/4,因此需要增加shutter曝光时间补偿

f_stop值会影响景深 

ISOgain感光度

后期处理,光能量乘以某个值,可以在任何时刻处理

图像为什么有噪声?因为在一定快门时间,光线的光子数量进入的不够多,就会形成噪声

当iso值增大,同样的增加亮度和噪声,因此会看起来噪声更多

比如我们在夜晚拍照片,调节亮度后,图片是变量,但看到噪声很多

合成渲染方式

属性:成像平面大小,透镜焦距,光圈大小

20光场……

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

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

相关文章

Linux 安装 yum

第一步:下载安装包 这里以 CentOS 7 为例 wget https://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-3.4.3-132.el7.centos.0.1.noarch.rpm wget https://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm wget…

初识算法 · 双指针(4)

目录 前言: 复写零 题目解析 算法原理 算法编写 四数之和 题目解析 算法原理 算法编写 前言: 本文是双指针算法的最后一文,以复写零和四数之和作为结束,介绍方式同样是题目解析,算法原理,算法编写…

电气自动化入门10:传感器应用介绍

视频链接:4.1 电工知识:传感器应用介绍与接近开关的实际应用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PJ41117PW?p12&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.电工传感器介绍 2.常用电工传感器的种类和用途 3.接近开关

计算机毕业设计 基于Python的无人超市管理系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

TCP BIC 的拟合函数分析

前面说了这么多,还没有对 bic 的数学性质进行分析,本文补上。 tcp reno 完全依赖 ack 时钟以 rtt 为单位线性增窗,增窗速度与 rtt 负相关,如何在 rtt 比较大时增加增窗速度,这就是 bic,以二分替换遍历。 …

银河麒麟服务器:检查仓库源连接状态

银河麒麟服务器:检查仓库源连接状态 1. 清理YUM缓存2. 生成YUM缓存 💖The Begin💖点点关注,收藏不迷路💖 在银河麒麟高级服务器操作系统中,要检查仓库源是否连接成功,可以执行以下两个命令&…

SQL优化 - 排序

文章目录 排序和索引降序索引 FilesortORDER BY 顺序问题ORDER BY LIMIT 排序和索引 如果ORDER BY操作使用了索引,那么就可以避免排序操作,因为索引本身就是按索引 key 排好序的。那什么情况下,ORDER BY会走索引呢? 例如&#…

C#基于SkiaSharp实现印章管理(10)

向PDF文件插入印章图片比之前实现的向图片文件插入印章麻烦得多。   最初的想法是使用PDF浏览控件在线打开PDF文件,然后在控件中实现鼠标移动时动态显示印章,点击鼠标时向当前PDF页面的鼠标点击位置插入图片。由于是.net 8的Winform项目,选…

Elasticsearch学习记录

阅读前须知 本文通过安装elasticsearch-7.17.0为基础,使用 kibana-7.17.0 对 elasticsearch 进行操作,本文中 es 是对 elasticsearch 的简写。 下载地址:elasticsearch_免费高速下载|百度网盘-分享无限制 (baidu.com) 1 初识Elasticsearch …

用 LoRA 微调 Stable Diffusion:拆开炼丹炉,动手实现你的第一次 AI 绘画

总得拆开炼丹炉看看是什么样的。这篇文章将带你从代码层面一步步实现 AI 文本生成图像(Text-to-Image)中的 LoRA 微调过程,你将: 了解 Trigger Words(触发词)到底是什么,以及它们如何影响生成结…

redis面试-2024

1、Redis的基本数据结构类型 string、list、set、hash、zet。还有三种特殊类型:Geospatial、Hyperloglog、bitMap。 2、各数据类型对应的场景 3、redis快的原因 *基于内存 内存读写效率远高于磁盘读写,省去磁盘IO操作 *存储形式 Redis作为K-V键值对…

MFC有三个选项:MFC ActiveX控件、MFC应用程序、MFC DLL,如何选择?

深耕AI:互联网行业 算法研发工程师 ​ 目录 MFC ActiveX 控件 控件的类型 标准控件 自定义控件 ActiveX控件 MFC ActiveX控件 标准/自定义控件 MFC ActiveX控件分类 3种MFC如何选择? MFC ActiveX控件 MFC 应用程序 MFC DLL 总结 举例说明…

微信小程序处理交易投诉管理,支持多小程序

大家好,我是小悟 1、问题背景 玩过微信小程序生态的,或许就有这种感受,如果收到投诉单,不会及时通知到手机端,而是每天早上10:00向小程序的管理员及运营者推送通知。通知内容为截至前一天24时该小程序账号内待处理的交…

k8s基础环境部署

什么是k8s K8s,全称Kubernetes,是一个开源的容器编排平台,由谷歌(Google)开发并开源。Kubernetes这个名字源于希腊语,意为“舵手”或“飞行员”,而“k8s”这个缩写则是因为“k”和“s”之间有八…

【目标检测】yolo的三种数据集格式

目标检测中数据集格式之间的相互转换--coco、voc、yolohttps://zhuanlan.zhihu.com/p/461488682?utm_mediumsocial&utm_psn1825483604463071232&utm_sourcewechat_session【目标检测】yolo的三种数据集格式https://zhuanlan.zhihu.com/p/525950939?utm_mediumsocial&…

【移植】一种快速移植OpenHarmony Linux内核的方法

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 移植概述 本文面向希望将 OpenHarmony 移植到三方芯片平台硬件的开…

基于Spring Boot+Vue的减肥健康管理系统设计和实现【原创】(BMI算法,协同过滤算法、图形化分析)

🎈系统亮点:图形化分析、BMI算法,协同过滤算法; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端&#xff1a…

计算机网络-系分(5)

目录 计算机网络 DNS解析 DHCP动态主机配置协议 网络规划与设计 层次化网络设计 网络冗余设计 综合布线系统 1. 双栈技术 2. 隧道技术 3. 协议转换技术 其他网络技术 DAS(Direct Attached Storage,直连存储) NAS(Net…

【Immich部署与访问】自托管媒体文件备份服务 Immich 本地化部署与远程访问存储数据

文章目录 前言1.关于Immich2.安装Docker3.本地部署Immich4.Immich体验5.安装cpolar内网穿透6.创建远程链接公网地址7.使用固定公网地址远程访问 前言 本篇文章介绍如何在本地搭建lmmich图片管理软件,并结合cpolar内网穿透实现公网远程访问到局域网内的lmmich&#…

【环境配置】科研小白Windows下安装Git

2024年小白使用Win10安装Git 2.46.2教程: 1 下载安装包 访问下载地址 Git - Downloading Package (git-scm.com) 下载之后打开文件 2 安装过程 点击Next 2.1 选择安装路径 2.2 选择勾选必要组件 2.3 一路Next 这一步直接Next即可 继续点击Next 继续点击Ne…