Fork me on GitHub

计算机立体视觉之-相机针孔模型

  相机模型是将三维世界中的物体投影到二维相机平面中。常见的相机模型有针孔模型(pinhole model)和全景模型(omni-directional model,即通常称为鱼眼相机的模型)。针孔模型是光学相机模型中最常见的模型,也是最简单的一种。针孔模型一般使用在CCD相机中,但其他成像图片也可以使用此模型,比如医用X光图片。虽然相机一般都不是理想的针孔模型,但在立体视觉处理中,一般将其抽象为针孔模型,并在相机标定时,加入畸变参数。针孔模型的标定是经典的计算机视觉问题,有着广泛的研究,网上的资料也必将多,这里不再赘述。

基本针孔模型

  在欧式空间中,针孔模型由三维世界投影在相机平面中。针孔模型将空间三维点 X = (X, Y, Z)T投影到像平面上。按照图像的习惯,一般从左到右为 $x$ 轴的正方向,从上到下为 $y$ 轴的正方向。故方面起见,对应的世界坐标系同图像保持一致。为了方便同空间坐标区分,图像坐标一般用 $x = (u, v)$表示。

  经过远点与图像垂直的轴称为Principle Axis,为相机坐标系下的Z轴方向。如图1所示。

  

图1. 针孔模型的空间抽象

  根据相似三角形原理,可以很容易获空间点X得其对应关系,即X = (X, Y, Z)T投影到 $(fX/Z, fY/Z, f)^T$。所以

$$ (u, v) = (fX/Z, fY/Z) $$

  用齐次坐标来表示则有如下转换关系

$$\begin{pmatrix} X \\ Y \\ X \\ 1 \end{pmatrix}\rightarrow \begin{pmatrix} fX \\ fY \\ Z \end{pmatrix} =\begin{bmatrix} f & & & 0 \\ & f & & 0 \\ & & 1 & 0 \end{bmatrix}\begin{pmatrix} X \\ Y \\ X \\ 1 \end{pmatrix}$$

  其中x表示齐次坐标系下的图像点,X表示齐次坐标系下的空间点。上面公式可以写成 x = PX

摄像机内参

  

$$ \begin{bmatrix} f_{x} & & c_{x} \\ & f_{y} & c_{y} \\ & & 1 \end{bmatrix} $$

 

posted @ 2019-04-16 19:33  小狮子  阅读(1097)  评论(0编辑  收藏  举报