针孔摄像机

模型


针孔摄像机模型针孔摄像机模型针孔摄像机模型
孔洞OOO和图像plane之间的距离就是焦距fff。
i,j,ki,j,ki,j,k是相机的参考系,也叫相机的坐标系。
kkk是垂直成像平面的,OOO和C′C'C′之间的线叫光轴。
zzz是OOO到世界坐标系中物体处的距离。
所以,根据三角形相似,可以得出:

缺点

但这个公式的前提是假设OOO是一个无穷小的点,如果孔洞打了就会有更多的光线到同一个点上,这样图像就变得模糊了,因为有更多的光所以也变量了,虽然人们可以一直往无穷小的孔洞探索,但是人们更希望能有一个又亮又清晰的图像,这时,透镜的出现解决了这个问题。


透镜


简单的模型图简单的模型图简单的模型图

带有符号的图带有符号的图带有符号的图
点PPP离图像平面的距离会影响图像的清晰程度,这个是跟焦点相关的,所有平行于光轴的光线都会通过焦点

这个还和“景深”有关,现在的智能机的拍摄功能一般都有景深效果,我之前理解的是背景模糊功能,真正的概念是相机拍摄清晰照片的有效范围,所以智能机就是把范围控制到了人像的位置,所以后面的超出有效范围的背景就变得模糊了。

这里的焦距是焦点位置到lens的中心点的位置之间的距离,和针孔摄像机不一样,真实点和投射点之间的关系为:

这个公式看起来和之前的针孔很像,但是字符的概念是不同的:
在针孔摄像机中,z′=fz'=fz′=f;在透镜模型中,z′=f+z0z' = f + z_0z′=f+z0​。
不同之处就在于对于焦距的定义不同


两种畸变:枕形和桶形两种畸变:枕形和桶形两种畸变:枕形和桶形
上面的推导使用了“薄透镜”假设,所以被叫做 parxial refraction model
同时,也因为这种假设,所以会产生 radial distortion (径向畸变) 现象,因此图像的放大倍数也会因为离光轴的距离的变化而变化,枕形是越远放大倍数越大,桶形是越远放大倍数越小。

之所以”薄透镜“假设会导致这种情况,是因为透镜的不同部位有不同的焦距,而这种假设将所有部位的焦距都看成相同的了。


转化到数字图像

由于以下几个原因,3D空间投影出来的图像和实际的数字图像并不能对应起来:

  1. 投影出来的图像是连续的,但实际的数字图像是离散的

  2. 数字图像和世界的参考系不同

    就是说数字图像能对应多个参考系,是因为这个吗?

  3. 物理传感器可以将失真等非线性引入到映射中

    这个还不知道是个啥?

因此,还要引入一些其他的参数才能做映射:

  1. 图像的原点在光轴和图像的相交处,一般是图像的中心,而数字图像的原点在左下角,如果换成pyhton数组的话是从右上角开始吧,这也得加个变换参数处理,如下公式:
  2. 数字图像中的点用像素表示,而平面上使用物理单位的(cm、m),所以引入两个新参数k、lk、lk、l,对应两个轴的度量转换:pixelscm\frac{pixels}{cm}cmpixels​。这个k、lk、lk、l跟不同轴的比例相关,如果x、yx、yx、y的缩放相同,则k=lk=lk=l,就是说摄像机的像素是正方形的。引入这两个参数后公式为:


引入齐次坐标后:


一些约束

从世界坐标到像素坐标的变换,用一个MMM来表示
M=K[RT]=[KRKT]=[Ab]M = K[R\ T]=[KR\ KT]=[A b]M=K[R T]=[KR KT]=[Ab]
A=[a1,a2,a3]TA = [a_1,a_2,a_3]^TA=[a1​,a2​,a3​]T
然而,对于不同的情况,有着不同的限制:

  1. 普通的透视映射,要求Det(A)≠0Det(A) \ne 0Det(A)​=0
  2. zero-skew的情况,不仅要求Det(A)≠0Det(A) \ne 0Det(A)​=0,并且(a1×a3)∗(a2×a3)=0(a_1 \times a_3)*(a_2 \times a_3) = 0(a1​×a3​)∗(a2​×a3​)=0
  3. zero-skew 加 unit aspect-ratio 就是Det(A)≠0Det(A) \ne 0Det(A)​=0和:


ThinLense(薄镜头)Thin Lense(薄镜头)ThinLense(薄镜头)


三种坐标系


咱们常说的有三种坐标系:世界坐标系,图像坐标系,像素坐标系,这三个都在上图,就是说法不一样。
世界坐标系: 这个就是摄像机拍摄的物体所在的坐标系
图像坐标系:是归一化的焦平面,为了方便计算,会在焦距为1的地方设置虚拟平面,这就是图像坐标系,如下图

像素坐标系:就是像平面,通过对图像坐标系(归一化的焦平面)做内参运算得到


物理光学知识


平时我们讲的那些光,都是忽略了衍射、干扰还有其他的物理光学现象,除开这些光学现象,透镜的性质有以下的光学性质决定:

  1. 光在均匀介质中直线传播

  2. 光照射到一个平面上会发生反射,入射光、反射光、平面法线是共面的,法线和两条ray之间的角是互补的

    就是α1+90\alpha_1 + 90α1​+90 和r1′r_1'r1′​到右边的水平线的角度 是互补的

  3. 光穿过不同的介质会发生折射,如r1r_1r1​、r2r_2r2​,这两个ray和法线共面,α1\alpha_1α1​、α2\alpha_2α2​的性质有物体的性质决定:
    n1sinα1=n2sinα2n_1 sin\alpha_1 = n_2 sin\alpha_2 n1​sinα1​=n2​sinα2​

设使用的透镜半径为RRR,折射率是nnn

前后都是,一个透镜是由两个弧组成的,假设两个弧的属性完全相同,是这样吗?可能是弧的大小不同,在介质中传播的时间也不同吧

一般来讲都假设光线到了右边界直接折射出左边界

这样很方便理解和计算吧


1z−1Z=1f\frac{1}{z} - \frac{1}{Z} = \frac{1}{f}z1​−Z1​=f1​
f=R2(n−1)f = \frac{R}{2(n-1) }f=2(n−1)R​

CS231A:Pinhole camera model and lenses相关推荐

  1. 1. pinhole camera model 小孔相机模型【cs231a课程笔记】

    文章目录 同系列链接 1.1. pinhole camera model 1.2. lens-based model (paraxial refraction model) distortion 1. ...

  2. OpenGL投影矩阵与相机模型(Set Projection Matrix for Pinhole Camera Model)

    出处:http://oliver.zheng.blog.163.com/blog/static/1424115952013349234838/ (转载自"结冰的雪"百度空间) 目的 ...

  3. 3D Viewing: the Pinhole Camera Model(翻译)

    目录 What Will You Learn in this Lesson? Camera Obscura: How is an Image Formed? How Does Real Camera ...

  4. Pinhole camera model相机模型

    相机模型 数码相机图像拍摄的过程实际上是一个光学成像的过程.相机的成像过程涉及到四个坐标系:世界坐标系.相机坐标系.图像坐标系.像素坐标系以及这四个坐标系的转换. 理想透视模型--针孔成像模型 相机模 ...

  5. 针孔相机(The pinhole camera)

    目录 1 小孔成像 1.1 The normalized camera 1.2 Focal length parameters 1.3 Offset and skew parameters 1.4 P ...

  6. 相机模型-Unified Camera Model

    相机模型-Unified Camera Model 模型介绍 投影过程 反投影过程 雅可比计算 开篇不知道说啥了,直接开始吧. 模型介绍 这个相机模型在其它地方又被叫做 Omnidirectional ...

  7. A Generic Camera Model and Calibration Method for Conventional, Wide-Angle, and Fish-Eye Lenses 论文翻译

    目录 题目 Abstract I. Introduction II. GENERIC CAMERA MODEL A. Radially Symmetric Model 径向对称模型 B. Full M ...

  8. 3. 全向相机模型Omnidirectional Camera Model

    目录 1. 定义: 2. scaramuzza多项式模型 2.1 模型推导 3. 标定原理 3.1 求外参 3.2 求内参 3.3 非线性优化 4. 感谢您的阅读! 1. 定义: 全向相机(Omnid ...

  9. 相机模型-鱼眼模型(fisheye camera model)

    鱼眼相机模型 (fisheye camera model) 模型介绍 等距投影 等立体角投影 正交投影 体视投影 线性投影 Kannala-Brandt 模型 去畸变过程 投影过程 反投影过程 雅可比 ...

最新文章

  1. python扫雷的代码及原理_基于Python实现的扫雷游戏实例代码
  2. Otsu algorithm
  3. 2020ICPC(小米邀请赛1) - Phone Network(线段树优化递推)
  4. 新的一年,碎片化学习前端,我推荐这几个公众号~
  5. 深入浅出裸测之道---单元测试的单元化
  6. 米莱迪机器人加物理攻击_自拍、航拍、运动拍“ALL IN ONE”,臻迪PowerEgg X开启全新未来...
  7. Win7 专业版安装中文包、汉化处理
  8. Android性能专项FPS测试实践
  9. click option/argument参数详解(click.option()和click.argument())
  10. 每个人心里一亩一亩田,每个人心中一个一个梦
  11. cad2016的自动修复此计算机,CAD中遇到文件损坏,别着急,这几招能帮你挽回损失...
  12. fortran教程9:和C语言混合编程
  13. 中山大学羽毛球场馆自动订场(Python+selenium+百度aip)
  14. Wake-on-LAN(远端唤醒) 原理及实现
  15. ERP系统物料清单设计技巧
  16. 利用mininet进行链路拥塞造成数据丢包的实验
  17. Spring Data JPA-单向一对一关联映射
  18. 分布式事务(Seata) 四大模式详解
  19. 手机号码中间隐藏四位
  20. 上海国家会计学院刘梅玲:事项法会计可以有力地促进业财融合

热门文章

  1. 关于fi dd ler 手机抓包 网卡地址地址_分布式场景下,网络故障排查抓包指南!...
  2. Docker、Jenkins 结合 SonarQube 和 Sonar scanner 进行代码质量扫描
  3. 计算复杂性读书笔记(二): 论怎么把一个证明写得有意思
  4. Git或SVN安装后,左下角没有绿标或者红标
  5. 2021-10-11PCBA方案——额温枪(红外线测温仪)方案开发
  6. 健尔康医疗冲刺上交所:年营收11亿 提坏账准备金额1.6亿
  7. 全球最大的水下主题公园向潜水爱好者开放
  8. 108款福,总有一款,是你没扫到的敬业福!
  9. http://123.206.31.85/ 上的几道Web题1-9
  10. 联想Thinkpad无法进入BIOS界面之解决方案