相机模型

数码相机图像拍摄的过程实际上是一个光学成像的过程。相机的成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系以及这四个坐标系的转换。

理想透视模型——针孔成像模型

相机模型是光学成像模型的简化,目前有线性模型和非线性模型两种。实际的成像系统是透镜成像的非线性模型。最基本的透镜成像原理如图所示:

其中 u 为物距, f 为焦距,v 为相距。三者满足关系式:

相机的镜头是一组透镜,当平行于主光轴的光线穿过透镜时,会聚到一点上,这个点叫做焦点,焦点到透镜中心的距离叫做焦距 f。数码相机的镜头相当于一个凸透镜,感光元件就处在这个凸透镜的焦点附近,将焦距近似为凸透镜中心到感光元件的距离时就成为小孔成像模型。小孔成像模型如图所示。

小孔成像模型是相机成像采用最多的模型。在此模型下,物体的空间坐标和图像坐标之间是线性的关系,因而对相机参数的求解就归结到求解线性方程组上。四个坐标系的关系图如下图所示,其中 M 为三维空间点,m 为 M 在图像平面投影成的像点。

世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。因为数码相机安放在三维空间中,我们需要世界坐标系这个基准坐标系来描述数码相机的位置,并且用它来描述安放在此三维环境中的其它任何物体的位置,用(Xw, Yw, Zw)表示其坐标值。

相机坐标系(光心坐标系):以相机的光心为坐标原点,X 轴和Y 轴分别平行于图像坐标系的 X 轴和Y 轴,相机的光轴为Z 轴,用(Xc, Yc, Zc)表示其坐标值。

图像坐标系:以CCD 图像平面的中心为坐标原点,X轴和Y 轴分别平行于图像平面的两条垂直边,用( x , y )表示其坐标值。图像坐标系是用物理单位(例如毫米)表示像素在图像中的位置。

像素坐标系:以 CCD 图像平面的左上角顶点为原点,X 轴和Y 轴分别平行于图像坐标系的 X 轴和Y 轴,用(u , v )表示其坐标值。数码相机采集的图像首先是形成标准电信号的形式,然后再通过模数转换变换为数字图像。每幅图像的存储形式是M × N的数组,M 行 N 列的图像中的每一个元素的数值代表的是图像点的灰度。这样的每个元素叫像素,像素坐标系就是以像素为单位的图像坐标系。

像素坐标系与图像坐标系的关系如图。

他们之间的转换关系为:

采用齐次坐标再用矩阵形式将上式表示为:

其中(u0, v0)是图像坐标系原点在像素坐标系中的坐标,dx 和 dy分别是每个像素在图像平面x和 y方向上的物理尺寸。

图像坐标系与相机坐标系的转换为:

其中 f 为焦距(像平面与相机坐标系原点的距离)。用齐次坐标系和矩阵表示上述关系:

相机坐标系与世界坐标系的变换为:

其中 R 为3 × 3正交旋转矩阵,t 为三维平移向量,综合起来:

ax, ay分别是图像水平轴和垂直轴的尺度因子。K的参数中只包含焦距、主点坐标等只由相机的内部结构决定,因此称 K 为内部参数矩阵,ax, ay , u0, v0叫做内部参数。M1中包含的旋转矩阵和平移向量是由相机坐标系相对于世界坐标系的位置决定的,因此称M1为相机的外部参数矩阵,R和t叫做外部参数,M 叫投影矩阵。相机标定就是确定相机的内部参数和外部参数。

实际成像模型

理想的透视模型是针孔成像模型,物和像会满足相似三角形的关系。但是实际上由于相机光学系统存在加工和装配的误差,透镜就并不能满足物和像成相似三角形的关系,所以相机图像平面上实际所成的像与理想成像之间会存在畸变。畸变属于成像的几何失真,是由于焦平面上不同区域对图像的放大率不同形成的画面扭曲变形的现象,这种变形的程度从画面中心至画面边缘依次递增,主要在画面边缘反映比较明显。为了减小畸变,拍摄图片时应尽量避免用镜头焦距的最广角端或最远端拍摄。实际的相机成像模型如下图所示。

其中 mr(xr,yr)表示实际投影点的像平面坐标系下的物理坐标,mi(xi,yi)表示理想投影点的像平面坐标系下的物理坐标。镜头的畸变模型可表示为:

σx 和σy是非线性畸变值,它包括径向畸变和偏心畸变和薄棱镜畸变等。

理论上来说镜头都存在径向和切向畸变,但是通常径向畸变较大,切向畸变较小。径向畸变的模型可由下面的模型来表示:

其中k1 k2 k3……示径向畸变系数,,通常情况下径向畸变系数只考虑到一阶或二阶就可以满足精度需求了。

偏心畸变模型是由于多个光学镜头的光轴不能完全共线产生的,这种畸变是由径向和切向畸变共同构成的,数学模型可表示如下:

其中p1, p2为切向畸变系数。薄棱镜畸变是由于镜头设计制造缺陷和加工安装所造成的,如镜头与相机成像平面有一个很小的倾角等。因为薄棱镜畸变非常小,通常不考虑,这里只考虑径向畸变和偏心畸变,畸变总的可以表示为:

实际的成像模型为:

******************

作者:hao_09

时间:2015/8/13

文章地址:http://blog.csdn.net/lsh_2013/article/details/47615309

******************

小孔成像模型中四个坐标系的转换:世界 相机光心 图像毫米 像素相关推荐

  1. 小孔成像中四个坐标系转换

    一.小孔成像基础知识: 1.1透镜成像原理 如图所示: 其中 u 为物距, f 为焦距,v 为相距.三者满足关系式: 相机的镜头是一组透镜,当平行于主光轴的光线穿过透镜时,会聚到一点上,这个点叫做焦点 ...

  2. 视觉SLAM十四讲学习笔记——第五讲相机与图像

    文章目录 前言 一.相机模型 针孔相机模型 畸变模型 双目相机模型 RGB-D相机模型 二.图像 三.代码复现 总结 前言 研0学生,放假宅家,本科期间对其感兴趣,故开始学习. 一个人学有点无聊,可以 ...

  3. 视觉SLAM十四讲 读书编程笔记 Chapter5 相机与图像

    Chapter5 相机与图像 相机模型 双目相机原理简介 实践:图像的存取与访问 实践:点云拼接 安装PCL 数据说明 点云拼接 相机模型 使用针孔和畸变两个模型来描述相机的整个投影过程,把外部的三维 ...

  4. 视觉SLAM十四讲-高翔 第5讲 相机和图像

    相机和图像 5.1 相机模型 我们使用针孔和畸变两个模型来描述整个投影过程,这两个模型能够把外部的三维点投影到相机内部成像平面,构成了相机的内参数. 5.1.1 针孔相机模型 按照习惯 Z Z Z移到 ...

  5. icc 颜色 c语言,浅析颜色在icc中四种不同的转换方式

    在我们使用频率最高的图像处理软件Photoshop中,我们可以在颜色设置项中的转换选项中发现"意图"一项中有可感知.饱和度.相对比色和绝对比色四个选项,这是不同颜色在icc之间转换 ...

  6. Java中四种进制转换

    进制介绍 举例: 不同进制转换运算 Java中二进制使用0b(0B)前缀来表示,不足一字节需高位补零,凑成8位. Java中八进制使用0前缀来表示. Java中十六进制使用0x(0X)来表示,a~e( ...

  7. 相机标定----世界坐标系,相机坐标系,图像坐标系,像素坐标系的转换

    1.坐标系介绍 相机模型中,三维世界中的某一点  和  其对应的像素点是通过坐标系的转换得到的.这个过程中会涉及到四个坐标系,即世界坐标系.相机坐标系.图像坐标系.像素坐标系.下面将详细介绍四个坐标系 ...

  8. 相机与图像--小孔成像模型与坐标系--坐标系转换

    利用图像序列进行三维重建的过程,相当于把一张张由很多像素组成的二维图像还原到三维空间中的一个过程.通过了解整个投影的过程,就可以很容易理解如何利用图像进行三维重建,以及三维重建中的关键步骤是什么.该小 ...

  9. 双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]

    文章目录 前言 影像坐标系 相机坐标系 世界坐标系 影像坐标系与相机坐标系之间的相互转换 相机坐标系与世界坐标系之间的相互转换 前言   通过模拟人眼立体视觉,两个摄像机拍摄同一场景可构成双目成像模型 ...

最新文章

  1. windows环境下pip安装python的包时候提示invalid syntax (转载CSDN)
  2. 程序员到底为什么要掌握数据结构与算法?
  3. Linux下MySQL登录报错1045,linux下 root 登录 MySQL 报错的问题
  4. 软件工程的实践项目的自我目标
  5. Contextualizing Airbnb by Building Knowledge Graph
  6. c高级语言程序设计B试题,2019-2010-2-《高级语言程序设计(C)》期末考试-题
  7. Web安全的三个攻防姿势
  8. java利用poi生成/读取excel表格
  9. leetcode解题笔记-Summary Ranges
  10. java final 详解_java中Final详解
  11. VBA_Excel_教程:分枝循环结构
  12. 适合完全初学者的Python自学路线图和学习方法
  13. Debian彻底卸载MySQL
  14. vs 安装qtaddin_VS2015安装Qt5的Add-in的问题与解决方案【记录贴】
  15. 计算机怎样辅助英语听力教学,浅议多媒体计算机辅助大学英语教学的原则 大学英语听力怎么提高...
  16. java 循环依赖_Java详解之Spring Bean的循环依赖解决方案
  17. java网络编程--UDP程序设计
  18. 建模与仿真matlab论文,matlab+fluent等温容器建模与仿真研究
  19. BGP路由反射器RR
  20. Android销毁活动是什么意思,android – 服务自动被要求销毁活动

热门文章

  1. 怎么样设置网站访问权限
  2. 文末送书!看懂这本书,程序员可以自信地说“我要打十个”!
  3. 31年前的Beyond演唱会,是如何超清修复的?
  4. 哥廷根大学提出CLIPSeg,能同时作三个分割任务的模型
  5. word文档中引用参考文献
  6. 赵哲焕 Clock work RNN(CW-RNN)
  7. Java——线程让步_yield()方法
  8. 漫步数理统计十四——重要的不等式
  9. 从1到无穷大-强化学习篇
  10. 面向初学者的 MQL4 语言系列之3——技术指标和内置函数