针孔相机模型
针孔相机模型是实际研究中最常用的模型。针孔是一个中间有一个小孔的假想墙壁,光只能从小孔通过。
f f f是摄像机焦距, Z Z Z是摄像机到物体的距离, X X X是物体长度,是图像平面上的物体长度。由相似三角形可得:
− x = f X Z -x = f\frac{X}{Z} −x=fZX
可将上图等价转换为如下所示系统,图像平面防止在针孔前方的摄像机模型(数学上等价,形式更简单)。
经过转换得到
x p = f x c z c y p = f y c z c ⟺ z c [ x p y p 1 ] = [ f 0 0 0 f 0 0 0 1 ] [ x c y c z c ] \begin{aligned} x_p = f\frac{x_c}{z_c}\\ y_p = f\frac{y_c}{z_c} \end{aligned}\iff z_c\begin{bmatrix} x_p\\ y_p\\ 1 \end{bmatrix}= \begin{bmatrix} f&0&0\\ 0&f&0\\ 0&0&1 \end{bmatrix} \begin{bmatrix} x_c\\y_c\\z_c \end{bmatrix} xp=fzcxcyp=fzcyc⟺zc⎣⎡xpyp1⎦⎤=⎣⎡f000f0001⎦⎤⎣⎡xcyczc⎦⎤
物体投影到成像平面之后由采样器件采样后转换为数字信号,成为像素图像。 d x , d y dx,dy dx,dy分别为一个像素占据的成像平面的物理尺寸(x方向,y方向)。
由于像素坐标系的原点和图像坐标系的原点不同,建模时需要加上两者原点的偏移和 c x c_x cx和 c y c_y cy,像素坐标系两个轴的夹角 θ \theta θ。
u = x p d x + c x − y p cot θ d x v = y p d y sin θ + c y ⟺ [ u v 1 ] = [ 1 d x − cot θ d x c x 0 1 d y sin θ c y 0 0 1 ] [ x p y p 1 ] \begin{aligned} u &= \frac{x_p}{dx}+c_x-\frac{y_p\cot\theta}{dx} \\ v &= \frac{y_p}{dy\sin\theta}+c_y \end{aligned}\iff \begin{bmatrix} u\\v\\1 \end{bmatrix}= \begin{bmatrix} \frac{1}{dx}&-\frac{\cot\theta}{dx}&c_x\\ 0&\frac{1}{dy\sin\theta}&c_y\\ 0&0&1 \end{bmatrix} \begin{bmatrix} x_p\\y_p\\1 \end{bmatrix} uv=dxxp+cx−dxypcotθ=dysinθyp+cy⟺⎣⎡uv1⎦⎤=⎣⎡dx100−dxcotθdysinθ10cxcy1⎦⎤