当前位置: 首页 > news >正文

摄像机模型与标定——三个坐标系及其之间关系

转载:http://blog.csdn.net/cxazw/article/details/45766689


1、图像坐标系


如图2.1所示,以图像左上角为原点建立以像素为单位的直接坐标系u-v。像素的横坐

标u与纵坐标v分别是在其图像数组中所在的列数与所在行数。(在OpenCV中u对应


x,v对应y)



由于(u,v)只代表像素的列数与行数,而像素在图像中的位置并没有用物理单位表示出

来,所以,我们还要建立以物理单位(如毫米)表示的图像坐标系x-y。将相机光轴

与图像平面的交点(一般位于图像平面的中心处,也称为图像的主点(principal

 point)定义为该坐标系的原点O1,且x轴与u轴平行,y轴与v轴平行,假设(u0,v0)代

表O1在u-v坐标系下的坐标,dx与dy分别表示每个像素在横轴x和纵轴y上的物理尺

寸,则图像中的每个像素在u-v坐标系中的坐标和在x-y坐标系中的坐标之间都存在如

下的关系:


(上述公式中我们假设物理坐标系中的单位为毫米,那么dx的的单位为:毫米/像素。那

么x/dx的单位就是像素了,即和u的单位一样都是像素)为了使用方便,可将上式用


齐次坐标与矩阵形式表示为:


其逆关系可表示为:



2、相机坐标系


相机成像的几何关系可由图2.2表示。其中O点为摄像机光心(投影中心),Xc轴和

Yc轴与成像平面坐标系的x轴和y轴平行,Zc轴为摄像机的光轴,和图像平面垂直。

光轴与图像平面的交点为图像的主点O1,由点O与Xc,Yc,Zc轴组成的直角坐标系称为

摄像机的坐标系。OO1为摄像机的焦距。



3、世界坐标系


世界坐标系是为了描述相机的位置而被引入的,如图2.2中坐标系OwXwYwZw即为世

界坐标系。平移向量t和旋转矩阵R可以用来表示相机坐标系与世界坐标系的关系。所

以,假设空间点P在世界坐标系下的齐次坐标是(Xw,Yw,Zw,1)T,(这里T是上标转

置),在相机坐标下的齐次坐标是(Xc,Yc,Zc,1)T,则存在如下的关系:


上式中R是3×3的正交单位矩阵(也成为旋转矩阵),t是三维的平移向量。矢量0=

(0,0,0),M1是4×4矩阵。


OpenCV中相对应的知识点:


1、图像坐标系和相机坐标系之间的关系



如上图,图像平面实在的平面坐标系就是图像坐标系,由投影中心以及i,j,k组成相机

坐标系。

1、在实际中主点不一定在成像仪(图像平面)的中心,为了对光轴可能存在的偏移

进行建模,我们引入两个新的参数:cx和cy。


2、在实际中,由于单个像素的在低价的成像仪上是矩形而不是正方形,我们引入了

两个不同的焦距参数:fx和fy。(这里的焦距是以像素为单位)则,我们假定物体在

相机坐标系统中的点Q,其坐标为(X,Y,Z),以某些偏移的方式投影为点


q(xsrceen,yscrreen),其中srceen为下表,坐标关系如下:


fx,fy和物理焦距F之间的关系为:fx=Fsx和fy=Fsy。其中sx表示x方向上的1毫米长度

所代表像素值,即单位像素/每毫秒,fx,fy是在相机标定中整体计算的,而不是通过该

公式计算的。


2、相机坐标系与世界坐标系的关系




1、旋转矩阵R:


通常,任何维的旋转可以表示为坐标向量与合适尺寸的方阵的乘积。最终一个旋转等

价于在另一个不同坐标系下对点位置的重新表述。坐标系旋转角度θ,则等同于目标

点绕坐标原点反方向旋转同样的角度θ。图11-8显示了矩阵乘法对二维旋转的描述。

在三维空间中,旋转可以分解为绕各自坐标轴的二维旋转(例如图11-8就是绕z轴旋

转),其中旋转的轴线的度量保存不变(这就是为什么旋转矩阵为正交矩阵的缘由)

如果依次绕x,y,z轴旋转角度ψ,φ和θ,那么总的旋转矩阵R是三个矩阵

Rx(ψ),Ry(φ),Rz(θ)的乘积,其中:



因此R=Rx(ψ),Ry(φ),Rz(θ).


平移向量T:


平移向量用来表示怎么样将一个坐标系的原点移动到另外一个坐标系的原点,或者说

平移向量是第一个坐标系原点与第二个坐标系原点的偏移量。因此,从以目标中心为

原点的坐标系移动到以摄像机为中心的原点的另外一个坐标系,相应的平移向量为T=

目标原点—摄像机原点。那么点在世界坐标系的中的坐标Po到在摄像机坐标系中Pc:

Pc=R(Po-T)


故,用三个角度ψ,φ和θ表示三维旋转,用三个参数(x,y,z)表示三维平移,共6个参

数,对摄像机而言,OpenCV内参数矩阵有4个参数:fx,fy,cx,cy。故对于每一个视场

的解需要10个参数。我们知道一个四边形的4个点可以提供8个方程,故至少需要两

个视角才能解出全部几何参数。8*2=6+6+4。

相关文章:

  • 推导四对对应点单应矩阵的计算公式?
  • 透视投影中已知两平面的单应矩阵,能否求出这两平面的夹角?
  • 相机标定的网页收纳
  • 机器视觉的相机标定到底是什么?
  • 摄像机标定--矫正畸变
  • 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总
  • 机器学习(Machine Learning)深度学习(Deep Learning)资料(下)
  • 【深度学习Deep Learning】资料大全
  • 【机器学习Machine Learning】资料大全
  • 深度学习
  • 深度学习框架的评估与比较
  • R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD系列深度学习检测方法梳理
  • 【深度学习:目标检测】CVPR 2016:目标检测领域的新进展
  • 【深度学习:目标检测】深度学习检测方法梳理:R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD系列
  • 【深度学习:目标检测】RCNN学习笔记(1):Rich feature hierarchies for accurate object detection and semantic segmentat
  • 30天自制操作系统-2
  • Android框架之Volley
  • flutter的key在widget list的作用以及必要性
  • HashMap ConcurrentHashMap
  • js递归,无限分级树形折叠菜单
  • PAT A1017 优先队列
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 初识 webpack
  • 前端之Sass/Scss实战笔记
  • 数组大概知多少
  • 通过几道题目学习二叉搜索树
  • 移动端 h5开发相关内容总结(三)
  • 用jquery写贪吃蛇
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 自定义函数
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #100天计划# 2013年9月29日
  • #14vue3生成表单并跳转到外部地址的方式
  • #NOIP 2014# day.1 T2 联合权值
  • (6)STL算法之转换
  • (Git) gitignore基础使用
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (多级缓存)缓存同步
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)C#调用WebService 基础
  • (转)LINQ之路
  • (转)大型网站的系统架构
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .htaccess配置常用技巧
  • .NET CORE Aws S3 使用
  • .NET 简介:跨平台、开源、高性能的开发平台
  • @Autowired自动装配
  • @RequestMapping-占位符映射
  • [ IO.File ] FileSystemWatcher
  • [1204 寻找子串位置] 解题报告
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析