最近在做双目测距,需要用到相机标定、矫正等,但首先需要熟悉相机模型;相机模型为以后算法的关键,只有将相机模型理解透彻,才能对以后的标定算法有更好的理解。参考了好多相关的博客,终于有点思路,顺手写下来作为笔记;
首先要理解相机模型中的四个平面坐标系之间的关系:像素平面坐标系(u,v)、图像坐标系(x,y)、相机坐标系(Xc,Yc,Zc)和世界坐标系(Xw,Yw,Zw);
1.图像坐标系到像素坐标系
- 像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样;
(图片来自百度)
- 由于(u,v)只代表像素的列数与行数,而像素在图像中的位置并没有用物理单位表示出来,所以,我们还要建立以物理单位(如毫米)表示的图像坐标系x-y。将相机光轴与图像平面的交点(一般位于图像平面的中心处,也称为图像的主点(principal point)定义为该坐标系的原点O1,且x轴与u轴平行,y轴与v轴平行,假设(u0,v0)代表O1在u-v坐标系下的坐标,dx与dy分别表示每个像素在横轴x和纵轴y上的物理尺寸,则图像中的每个像素在u-v坐标系中的坐标和在x-y坐标系中的坐标之间都存在如下的关系:
也可以用矩阵的形式描述图像坐标系到像素坐标系的转换:
2.相机坐标系到图像坐标系
(图片来自百度)
相机成像的几何关系可由图表示。其中O点为摄像机光心(投影中心),Xc轴和Yc轴与成像平面坐标系的x轴和y轴平行,Zc轴为摄像机的光轴,和图像平面垂直。光轴与图像平面的交点为图像的主点O1,由点O与Xc,Yc,Zc轴组成的直角坐标系称为相机坐标系。OO1为相机焦距。
下图是本人笔记的扫描版
点P(Xc,Yc,Zc)由通过投影中心的光线投影到图像平面上,相应的图像点为p(x,y,f);根据相似三角形原理:
用线性代数矩阵描述为:
3.世界坐标系到相机坐标系
世界坐标系是为了描述相机的位置而被引入,上图中坐标系OwXwYwZw即为世界坐标系. 平移向量t旋转矩阵R可以用来表示相机坐标系与世界坐标系的关系.所以,假设空间点P在世界坐标系下的齐次坐标是(Xw,Yw,Zw,1)T,在相机坐标下的齐次坐标是(Xc,Yc,Zc,1)T,则存在如下关系:
其中 R为3x3旋转矩阵,t为3x1平移矢量;
4.世界坐标系到像素坐标系
综合前三点,世界坐标系到像素平面坐标系可由前面的公式组合而成:
其中M1称为相机的内部参数矩阵,2称为相机的外部参数矩阵,M称为投影矩阵.