【计算机视觉】相机

文章目录

  • 一、原始的相机:针孔相机(Pinhole Camera)
  • 二、针孔相机的数学模型
  • 三、真实相机
  • 四、透镜的缺陷

我的《计算机视觉》系列参考UC Berkeley的CS180课程,PPT可以在课程主页看到。

成像原理

一、原始的相机:针孔相机(Pinhole Camera)


想要拍一张相片,直接拿胶片对着景物肯定是不行的,因为物体的每一点发出的光线都会到达胶片上的每一点,从而导致胶片上的影像非常模糊,甚至什么都看不出来。因此,我们想建立景物和胶片一一对应的关系,就必须让景物的每一点只有一束光线到达胶片上的一点(其实是很小的区域)。为了达到这个目的,我们就必须用一个隔板把其他多余的光挡住(图中的barrier),只允许其中一束光通过,也就是隔板上的孔(aperture)。这就是针孔相机的原理了。这里的孔在现代的相机上就是光圈,英文名同样是aperture。

针孔相机无处不在,树叶之间的缝隙也可以构成针孔相机,树荫下地面上圆形的亮斑其实就是太阳的像。当发生日食的时候,亮斑的形状就不是圆形的了,而是月牙形(如上图所示)。

有时候,连窗子都可以是照相机。如图所示,酒店的窗户构成针孔相机使得窗外的塔尖倒映在了墙上。

二、针孔相机的数学模型

下面,我们对针孔相机建立数学模型。


针孔相机捕捉的是光束,所有的光束通过一个投影中心(Center of Projection, COP)。像是在像平面上形成的。有效焦距 d d d是从投影中心到像平面的距离。


我们把投影中心放在空间直角坐标系的原点。这里与实际不同的是,我们把像平面放在投影中心的前面(介于物和投影中心之间的 z = − d z=-d z=d处,以后处理其他相机也是如此),这样的话就可以避免景物倒过来的问题了。这样做是可行的,因为把像平面放在 z = d z=d z=d z = − d z=-d z=d处的唯一区别就是景物是正着的还是倒着的。然后,用一些相似三角形,就可以知道物点 ( x , y , z ) (x,y,z) (x,y,z)对应的像点是 ( − d x z , − d y z , − d ) \left(-d\cfrac xz,-d\cfrac yz,-d\right) (dzx,dzy,d)。忽略 z z z坐标 − d -d d,我们就知道胶片上的坐标是 ( − d x z , − d y z ) \left(-d\cfrac xz,-d\cfrac yz\right) (dzx,dzy)

三、真实相机

当然了,针孔相机是旧时代的产物,现在没有人在用针孔相机。现在的相机大都是基于透镜的。接下来我们会建立现代相机的模型。

首先我们讨论一下光圈半径。既然允许通过的光太多会使影像变模糊,为什么不让光圈越小越好呢?答案是:还有光的衍射现象。这里又要涉及一些瑞利判据之类的东西了,啊啊啊啊大物我的噩梦……


所以说光圈半径应该在一个合理的范围内。此外,现代相机使用透镜有很多好处。小孔成像利用的是光的直线传播,景物发出的大部分光被挡在外面了,只有一小部分进入了小孔,这就导致单位时间进入的光强很低,需要很长的曝光时间来弥补。而透镜允许我们不必浪费挡在外面的光,而是把光折进光圈,从而使得更多的光进入光圈,达到缩短曝光时间、降低衍射效应、提升图像品质的目的。透镜可以让光聚焦在一个特定的平面(焦平面)上,我们可以通过调节透镜的形状(曲率半径)、折射率来调节焦距,比针孔相机更方便。

当然,我们知道凸透镜成像满足高斯公式( 1 u + 1 v = 1 f \cfrac 1u+\cfrac 1v=\cfrac 1f u1+v1=f1死去的几何光学突然开始攻击我,这也就意味着对于不同的物距 u u u,相距 v v v是不同的,因此只有物距在一个范围内才能映射到给定的像平面上。物距偏离合理范围,聚焦的平面就不在像平面上了,就像近视眼和远视眼一样。

使图像清晰的最远和最近物距之差称为景深(depth of field):

光圈半径可以控制景深。我们知道,光圈越大,景物的一个点发出的光线映射到像平面上的光斑半径就越大,使得图像不清晰。我们又知道,凸透镜成实像时满足“物近像远像变大,物远像近像变小”,所以景物太远或太近都会导致聚焦不到像平面上,从而使光斑变大。当光圈变小时,可以约数光发散的角度,使像上的光斑变小,从而能允许更远和更近的物距,使得景深变大。焦比(F-number)是焦距与光圈直径之比,焦比越大,意味着光圈半径越小,使得曝光时间增长(因为进入光圈的光变少了,需要更长的曝光时间来弥补),但景深也变大。

焦距可以决定视野(field of view, FOV)。焦距越小,说明透镜遮光能力越强,很边缘的光都可以折进光圈里面,使得视野越大;同时,同一个物体的像也会变小。


焦距太小会导致拍摄变形(比如上图左边的左右脸不一样大)。这是因为小焦距对应大视角,从而使近、远景物占视角的比例之比加大,近景物在图片中的比例被夸张地放大,从而使图像呈现出诡异的形状。

四、透镜的缺陷

  1. 色差(chromatic aberration)。透镜对不同波长的光的折射率不同,使得不同颜色的像位置发生偏移。

  1. 径向畸变(radial distortion)。这是由不完美的透镜导致的;光线通过透镜边缘时会产生偏移。

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

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

相关文章

信息安全与网络安全的关系

前言 说说信息安全与网络安全的关系 如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉【入门&进阶全套282G学习资源包免费分享!】 一、包含和被包含的关系 信息安全包括网络安全,信息安全还包括操作系统安全&…

云计算的基本概念

目录 云计算基本概念 什么是云计算 云计算的优势(关键特征) 云计算发展历程 云计算发展阶段 云计算的三种服务模式 云计算的四类部署模式 云计算的应用 云计算基本概念 什么是云计算 云计算的基本概念 云计算(Cloud Computing&…

J2EE项目部署与发布(Linux版本)

目录 一.jdk&tomcat安装 1.jdk的安装 1.2解压对应的安装包 1.3配置环境变量 2.tomcat的安装 二.mysql的安装 三.后端接口部署 后端部署 导入war包 修改端口 开启访问 一.jdk&tomcat安装 1.jdk的安装 登录VMware Workstation Pro 然后连接MobaXterm 将 jd…

BI零售数据分析,告别拖延症,及时掌握一线信息

在日常的零售数据分析中,经常会因为数据量太大,分析指标太多且计算组合多变而导致数据分析报表难产,零售运营决策被迫拖延症。随着BI数据可视化分析技术的发展,智能化、可视化、自助分析的BI数据分析逐渐成熟,形成一套…

精品站长网交易系统源码/虚拟交易网站程序源码/虚拟交易平台带店铺处罚商品处罚

精品站长网交易系统源码,虚拟交易网站程序源码,虚拟交易平台带店铺处罚商品处罚。带申诉功能, 带提现通知功能, 带熊掌号推送功能, 带站内信息功能。 下载地址:https://bbs.csdn.net/topics/617494651

C++学习笔记之四(标准库、标准模板库、vector类)

C 1、C标准库2、C标准模板库2.1、vector2.1.1、vector与array2.1.2、vector与函数对象2.1.3、vector与迭代器2.1.4、vector与算法 1、C标准库 C C C标准库指的是标准程序库( S t a n d a r d Standard Standard L i b a r a y Libaray Libaray),它定义了十个大类…

如何使用IP归属地查询API加强网络安全

引言 在当今数字化时代,网络安全对于个人和组织来说至关重要。恶意网络活动的威胁不断增加,因此采取有效的措施来加强网络安全至关重要。其中之一是利用IP归属地查询API。这个工具可以为您的网络安全策略提供宝贵的信息,帮助您更好地保护自己…

huggingface离线模式及默认保存路径

T5Tokenizer.from_pretrained()函数会在线下载huggingface上的模型,并自动保存在C盘的.cache路径下: C:\Users\xxxxx\.cache\huggingface\hub\models--google--t5-v1_1-base # 这里xxxxx代表自己电脑用户名huggingface离线下载 以google/t5-v1_1-base为…

win10 下编译ffmpeg3.36.tar.gz

所需工具: win10 ffmpeg3.36.tar.gz。 或其他版本,下载地址:Index of /releases msys2。 下载地址:http://www.msys2.org。 Visual Studio 2017。 1. 安装MSYS MSYS2像是windows下的一个子系统,…

hadoop权威指南第四版

第一部分 HaDOOP基础知识 1.1 面临的问题 存储越来越大,读写跟不上。 并行读多个磁盘。 问题1 磁盘损坏 – 备份数据HDFS 问题2 读取多个磁盘用于分析,数据容易出错 --MR 编程模型 1.2 衍生品 1 在线访问的组件是hbase 。一种使用hdfs底层存储的模型。…

CSS3盒模型

CSS3盒模型规定了网页元素的显示方式,包括大小、边框、边界和补白等概念。2015年4月,W3C的CSS工作组发布了CSS3基本用户接口模块,该模块负责控制与用户接口界面相关效果的呈现方式。 1、盒模型基础 在网页设计中,经常会听到内容…

DSP 开发例程(5): tcp_server

目录 DSP 开发例程(5): tcp_server创建工程源码编辑tcp_echo.chelloWorld.c 调试说明 DSP 开发例程(5): tcp_server 此例程实现在 EVM6678L 开发板上创建 TCP Server进程, 完成计算机与开发板之间的 TCP/IP 通信. 例程源码可从我的 gitee 仓库上克隆或下载. 点击 DSP 开发教程…

组件化npm包打包和使用

背景:本地环境对功能组件提取,开发环境下通过本地路径引用,发布模式下走npm包引用 1、项目下新建packages/HelloWorld文件夹,在此文件夹下运行终端 npm init 新建packages/HelloWorld/index.vue文件 新建packages/HelloWorld/ind…

「完美修复」concrt140.dll丢失的修复方法

concrt140.dll是一个动态链接库文件,它是Microsoft Visual C 2015 Redistributable的一部分。这个文件通常位于Windows系统的System32文件夹中,它提供了一些用于多线程编程的函数和类。当你在运行某些程序时,系统会调用这个文件中的函数来执行…

VR全景图片如何制作?揭秘VR全景图片制作全流程

引言: VR全景图片是一种以全景视角为基础的图片制作技术,能够呈现出更为真实、立体的视觉体验。通过VR全景图片,观众可以360环顾四周,仿佛身临其境,提供了一种全新的感官体验,那么如何制作出令人满意的全景…

数据库-用户权限管理

创建用户: create user testlocalhost identified by 123456; create user 创建用户的固定开头 testlocalhost test为用户名, localhost:新建用户可以在哪些主机上登录,即使可以使用IP地址,网段主机名都可以 identified by 1…

【AIFEM案例分析】药柱随机响应分析

AIFEM是由天洑自主研发的一款通用的智能结构仿真软件,助力用户解决固体结构相关的静力学、动力学、振动、热力学等实际工程问题,软件提供高效的前后处理工具和高精度的有限元求解器,帮助用户快速、深入地评估结构的力学性能,加速产…

PHP在线客服系统平台系统源码+完全开源 带完整的搭建教程

在线客服系统已经成为企业与用户进行实时沟通的重要工具。PHP作为一种流行的服务器端脚本语言,具有高效、稳定和易用性等优点,因此被广泛应用于在线客服系统的开发。今天罗峰来给大家介绍一款PHP在线客服系统平台系统源码,源码完全开源&#…

ChatGPT扩展系列之ChatExcel

文章目录 ChatGPT扩展系列之ChatExcel对某一列的文字进行处理对数据进行排序对数据进行计算微软官方又推出Excel AI插件ChatGPT扩展系列之ChatExcel 自从ChatGPT很空出世之后,很多基于ChatGPT的应用便如雨后春笋般应用而生,这些应用的底层本质就是利用了ChatGPT对自然语言的…

SpringCloud(五) Eureka与Nacos的区别

SpringCloud(二) Eureka注册中心的使用-CSDN博客 SpringCloud(四) Nacos注册中心-CSDN博客 在这两篇博文中我们详细讲解了Eureka和Nacos分别作为微服务的注册中心的使用方法和注意事项,但是两者之间也有一些区别. 一, Nacos实例分类 Nacos实例分为两种类型: 临时实例:如果实例…