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

来源:互联网 发布:ubuntu一直在开机画面 编辑:程序博客网 时间:2024/05/21 07:52


文章中知识点:


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。


0 0