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


本文转载自:


http://www.360doc.com/content/14/0410/14/10724725_367760675.shtml



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。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值