OpenCV摄像机模型与标定的一些理解

单应变换(homograph transform),它是一种能够描述摄像机基本行为特征和各种失真、矫正特性的数学工具。

焦距(fx,fy)
光学中心(cx,cy)

3D点:对象点
2D点:图像点

  • 相机坐标系(三维坐标系)
    相机的中心被称为焦点或者光心,以焦点Oc为原点和坐标轴Xc,Yc,Zc组成了相机坐标系。
  • 图像坐标系(二维坐标系)
    成像平面中,以成像平面的中心O′为原点和坐标轴x′,y′组成了图像坐标系。

证三维点(X, Y, Z )和对应的图像点(x, y )之间的关系, 其中相机中的图像点用像素坐标表示。我们在示意图的投影中心加上 坐标系,如下图所示:
OpenCV摄像机模型与标定的一些理解
如果坐标系不是位于相机投影的中心,我们就需要加上一 个旋转向量(3 × 3的矩阵)和一个平移向量(3 × 1的矩阵)。这两个 矩阵描述了刚体变换。为了变换回相机的坐标系,必须在三维点上应 用刚体变换。
在逻辑上,我们可以假定像主点位于影像平面 的中心位置,但是在实际中这个点会偏离几个像素的距离,具体取决 于该相机的制造精度。

OpenCV摄像机模型与标定的一些理解
旋转和平移部 分通常称为校准的外部参数,并且对于每个视图它们都各不相同。

p=KP
其中,p是图像中像点的像素坐标,K是相机的内参数矩阵,P是相机坐标系下的三维点坐标。
上面推导使用的三维点坐标是在相机坐标系下的,相机坐标系并不是一个“稳定”的坐标系,其会随着相机的移动而改变坐标的原点和各个坐标轴的方向,用该坐标系下坐标进行计算,显然不是一个明智的选择。需要引进一个稳定不变坐标系:世界坐标系,该坐标系是绝对不变,SLAM中的视觉里程计就是求解相机在世界坐标系下的运动轨迹。
设Pc是P在相机坐标系坐标,Pw是其在世界坐标系下的坐标,可以使用一个旋转矩阵R和一个平移向量t,将Pc变换为Pw
Pc=RPw+t