Games101-相机与透镜

2024-04-25 18:44
文章标签 相机 games101 透镜

本文主要是介绍Games101-相机与透镜,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
成像:光栅化成像(上图)和光线追踪成像(下图)
都是用合成的方法来成像。还可以用捕捉的方法来成像
在这里插入图片描述
利用小孔成像原理制作的相机就是针孔相机
在这里插入图片描述
如果一个相机没有针孔/透镜,是无法拍照的。
因为任何一个点都有可能收集到来自不同方向上的光。这个点本身作为传感器是不区分来自各个方向上的radiance。则各个方向上能量都被收集到一起,该点收集到的是irradiance,而不是radiance。最终所有东西都是糊的。
传感器现在记录不了radiance,只能记录irradiance

Pinhole Image Formation

在这里插入图片描述
针孔相机拍出的东西是没有深度可言的。也就是任何地方都是锐利清楚的,都不会是虚化的。
做光线追踪时用的就是针孔摄像机的模型。所以也得不到景深的模糊效果。如果可以模拟光线和透镜的作用,那么也可以作出景深的渲染效果

Field of View (FOV)/视场

在这里插入图片描述
视场:能看到多大的范围
定义:我们认为传感器会感受到所有的光线
传感器高度定义为h
传感器和小孔间的距离(焦距)为f
在这里插入图片描述
通常认为是以35mm的胶片为基准,即传感器高度固定。通过控制焦距的大小,来控制视场大小

手机上所谓的28mm焦距只是等效35mm的传感器。实际上手机的传感器更小,因此焦距也更小
在这里插入图片描述
不同fov效果
在这里插入图片描述
减少传感器大小,fov减小。
平常认为传感器和胶片是一回事。但对于渲染来说,传感器负责记录每个像素收到的irradiance多大,
最后的film决定存成什么样的格式。两个概念可以不一样,只是目前混淆着使用
在这里插入图片描述
对于手机来说,焦距较小,使用较小的传感器达到相同的fov

Exposure/曝光

在这里插入图片描述
Exposure是irradiance乘time
记录的不是单位时间的而是总共的能量。
时间体现在相机里就是快门可以控制多长时间光可以进来
irradiance决定的其中一点是光圈的大小,光圈会影响到镜头接收到多少光
在这里插入图片描述
相机影响最后照片的因素:光圈大小(f-stop),快门开放时间,感光度(ISO是一个后期处理,当感光元件已经感知到某一层级的光,例如0.1,如果觉得暗,则把0.1乘以一定值。可以发生在硬件上,如传感都本身调节灵敏度,也可以在照片的数字信号上去调节)
在这里插入图片描述
不同因素的参数对应的效果
任何一个信号会有一个噪声,放大信号的同时,同样会放大噪声
在这里插入图片描述
iso是线性的
在这里插入图片描述
iso能够提示曝光度,但会造成噪声放大
在这里插入图片描述
f数非正式理解为光圈直径的逆,即1/直径
在这里插入图片描述
快门曝光时间可以起到调节曝光度的作用。
高速运动的物体容易出现运动模糊,即快门打开的这段时间内,物体发生了移动。传感器起到的是平均的作用,因此模糊
在这里插入图片描述
更短的快门时间,运动模糊会减低,但曝光度也减低
而且运动模糊不一定是坏事,如果没有运动模糊会觉得速度很慢。运动模糊在时间上采样是一种反走样的效果
在这里插入图片描述
机械快门打开存在一定时间,如果物体运动速度快于快门打开时间,会出现Rolling shutter的问题,对高斯运动的物体,如螺旋架造成扭曲。
因为图像上不同的位置有可能记录的是不同的时间进来的光
在这里插入图片描述
f-stop是1/直径,考虑多少曝光是面积

Fast and Slow Photography

快门的应用
在这里插入图片描述
在这里插入图片描述
高速摄影:每秒拍更多的帧数,然后按正常的帧数来放。意味着每张照片的快门时间非常少,及更大的光圈
在这里插入图片描述
在这里插入图片描述
延时摄影:超低速。非常长的曝光时间,及非常小的光圈。这些拉丝的效果其实就是运动模糊

Thin Lens Approximation

在这里插入图片描述
真正的镜头非常的复杂,不会用单个透镜做成像,而是用透镜组
在这里插入图片描述
aberrations:一面凸一面直的透镜不可能把光聚集到一点。(平行光进入到透镜本来是会被聚集到一点)
在这里插入图片描述
我们研究的是理想化的透镜,不考虑厚度。对于平行于透镜的光会被聚集到一个点,即焦点。焦点到透镜中间的距离为焦距
光路有可逆性,所以如果光路穿过焦点,射到透镜会被折射成一束平行光
认为薄的透镜可以任意改变焦距
在这里插入图片描述
任何一个光只要过透镜中心就不会改变方向
物距: z o z_o zo
相距: z i z_i zi
对于固定焦距的透镜来说,如果要改变物距,则相距也要改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图中的是两组相似三角形
在这里插入图片描述
薄透镜公式:反映了焦距,物距,相距的关系

Defocus Blur

在这里插入图片描述
远处一个平面focal plane,平面上的光经过透镜后会被聚焦到成像平面上,如果物体不在focal plane,会模糊。如上图,object聚焦在成像平面前方image,在继续传播。一个点被感光平面接收到之后,不再是一个点,而是一个圆。这个圆就是Circle of Confusion
看某个距离物体的模糊程度,和光圈的大小成正比
在这里插入图片描述
大光圈更模糊
在这里插入图片描述
直径分之1的定义其实是不对的,应该是焦距N除以光圈的直径D
在这里插入图片描述
把f数光圈实际大小和焦距联系在一块
在这里插入图片描述
A就是光圈的直径,C和N有反比关系
为了更清楚的照片,需要小光圈

Ray Tracing Ideal Thin Lenses

在这里插入图片描述
模拟薄透镜做光线追踪
在这里插入图片描述
确定成像平面sensor有一定大小,定义透镜属性焦距和光圈大小,定义透镜离场景中某个平面有多远 z o z_o zo,认为这个平面是要进行着重拍摄的。以此可以推出相距是 Z i Z_i Zi
在这里插入图片描述
第一步,在成像平面上选一点 x ‘ x^` x
第二步,在透镜上随机选一点 x ‘ ‘ x^{``} x‘‘
第三步,连线两点,可以求得打到的位置 x ‘ ‘ ‘ x^{```} x‘‘‘
第四步,计算 x ‘ ‘ x^{``} x‘‘ x ‘ ‘ ‘ x^{```} x‘‘‘的radiance
即简单利用透镜公式算一下折射的光线方向

Depth of Field

在这里插入图片描述
大光圈与小光圈会影响模糊的范围
在这里插入图片描述
景深就是指在实际场景中有一段深度,这段深度经过透镜后会在成像平面的附近形成一段区域,这段区域内,认为COC足够小。
算景深就是算在COC很小的范围内,对应看到的清晰场景距离
只要当COC的大小比像素小或差不多,都认为得到的结果是锐利的
在这里插入图片描述
景深的范围 D F D_F DF D N D_N DN
光圈越小,景深范围越大,更接近小孔,更锐利

这篇关于Games101-相机与透镜的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935488

相关文章

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

海鸥相机存储卡格式化如何恢复数据

在摄影的世界里,‌每一张照片都承载着独特的记忆与故事。‌然而,‌当我们不慎将海鸥相机的存储卡格式化后,‌那些珍贵的瞬间似乎瞬间消逝,‌让人心急如焚。‌但请不要绝望,‌数据恢复并非遥不可及。‌本文将详细介绍在海鸥相机存储卡格式化后,‌如何高效地恢复丢失的数据,‌帮助您重新找回那些宝贵的记忆。‌ 图片来源于网络,如有侵权请告知 一、‌回忆备份情况 ‌海鸥相机存储卡格式化如何恢复数据?在意

机器视觉硬件选型根据某项目相机镜头

一 项目总需求 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; ③工作距离:880mm;检测精度:500μm; 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; 工作距离:

005:VTK世界坐标系中的相机和物体

VTK医学图像处理---世界坐标系中的相机和物体 左侧是成像结果                                                    右侧是世界坐标系中的相机与被观察物体 目录 VTK医学图像处理---世界坐标系中的相机和物体 简介 1 在三维空间中添加坐标系 2 世界坐标系中的相机 3 世界坐标系中vtkImageData的参数 总结:

GAMES101(5~6节,光栅化)

光栅化Rasterization 透视投影已知field和近平面,如何推导宽度? 根据三角函数:tan field / 2 = (height / 2) / ||n||近平面,从而可以求出高度 因为知道宽高比,所以可以求出宽度,高度 * 宽/高 视口变换 经过MVP变换,顶点位于正则化空间坐标,是一个在 [-1,1] ^3 之间的 x, y, z 坐标构成(标准立方体),我们下一步需要做

独立双端App《瓦格相机》的开发过程分享

前言 Hello大家好,我是灯灯,独立开发者灯灯,也是天天学藏语的灯灯,哈哈哈... 好了屁话少说,今天和大家分享一下最近自己独立制作一款应用的经验历程,希望能对刚刚起步的新手们、还有独立开发者们有所帮助。 什么样的应用 我想做的是一款能够将照片转换成文字拼成的图片应用,也就是,图片中的每一个像素点都将会被文字取代,同时对应色彩、密集程度等。 之所以想做这样的应用是因为早在我高中的时候,

相机检查内参 外参

目录 检查内参 外参 像素点投影到世界坐标系,再投回到2d坐标系: 检查内参 外参 import cv2import numpy as np# 假设我们有以下相机内参K = np.array([[418.96369417, 0.0, 489.16315478],[0.0, 419.04813353, 267.88796254],[0.0, 0.0, 1.0]], dtype=n

相机拍摄时最重要的三个参数——光圈、快门、ISO

如果你对相机只有很少了解,那么看这篇文章再好不过啦,我结合很多资料,力图用最通俗易懂的方式进行讲解。 相机拍摄时最重要的3个参数就是——光圈、快门、ISO 次重要的参数有——焦距、景深、曝光   在介绍光圈、快门、ISO之前,必须先介绍曝光。曝光准确的照片:   过曝的照片:   欠曝的照片:   我们把一张完美曝光的照片理解成一桶刚刚装满的水,不

猫猫学iOS之二维码学习,快速打开相机读取二维码

猫猫分享,必须精品 原创文章,欢迎转载。转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 上一篇文章写了怎么生成二维码,这儿就说说怎么读取吧,反正也很简单,iOS封装的太强大了 步骤呢就是这样: 读取二维码需要导入AVFoundation框架#import <AVFoundation/AVFoundation.h> 1:利用摄像头识别二维码

sM4040B科学级显微制冷相机特性

sM4040B科学级显微制冷相机特性 sM4040B搭载了 GSENSE4040BSI 3.2 英寸图像传感器,针对传感器固有的热噪声,专门设计了高效制冷模块,使得相机传感器的工作温度比环境温度低达 35-40 度。针对制冷相机常见的低温结雾现象设计了防结雾机制,确保传感器和滤光片表面在低温情况下不会结雾。sM4040B的视频与图像数据通过 USB3 或CameraLink 超高速传输接口传