针孔相机、鱼眼相机模型
一、针孔相机模型
空间的三维物体要成像到相机的 CMOS/CCD 上面,形成了图像。图像上的每个点对应空间上的一个点。
将世界坐标系上的一点 (x,y,z)
映射到CMOS/CCD图像坐标系上,只要两步:
- 世界坐标系的坐标转化到相机坐标系。
- 相机坐标系坐标转化到图像坐标系。
1.1 世界坐标系到相机坐标系
即要将世界坐标系上的点(Xw,Yw,Zw)T(X_w,Y_w,Z_w)^T(Xw,Yw,Zw)T 转化成相机坐标系上的点(Xc,Yc,Zc)T(X_c,Y_c,Z_c)^T(Xc,Yc,Zc)T。
根据线性代数(计算机图形学)的知识可以知道,坐标系的转化只需要将原坐标乘以一个旋转矩阵再加上一个平移矩阵即可。公式如下:
[XcYcZc]=[R11R12R13R21R22R23R31R32R33][XwYwZw]+[t1t2t3]\left[ \begin{array}{l}{X_{c}} \\ {Y_{c}} \\ {Z_{c}}\end{array}\right]=\left[ \begin{array}{lll}{R_{11}} & {R_{12}} & {R_{13}} \\ {R_{21}} & {R_{22}} & {R_{23}} \\ {R_{31}} & {R_{32}} & {R_{33}}\end{array}\right] \left[ \begin{array}{l}{X_{w}} \\ {Y_{w}} \\ {Z_{w}}\end{array}\right]+\left[ \begin{array}{c}{t_{1}} \\ {t_{2}} \\ {t_{3}}\end{array}\right]⎣⎡XcYcZc⎦⎤=⎣⎡R11R21R31R12R22R32R13R23R33⎦⎤⎣⎡XwYwZw⎦⎤+⎣⎡t1t2t3⎦⎤
写成齐次矩阵的形式如下:
[XcYcZc1]=[R11R12R13t1R21R22R23t2R31R32R33t30001][XwYwZw1] \left[ \begin{array}{c}{X_{c}} \\ {Y_{c}} \\ {Z_{c}} \\ {1}\end{array}\right]=\left[ \begin{array}{cccc}{R_{11}} & {R_{12}} & {R_{13}} & {t_{1}} \\ {R_{21}} & {R_{22}} & {R_{23}} & {t_{2}} \\ {R_{31}} & {R_{32}} & {R_{33}} & {t_{3}} \\ {0} & {0} & {0} & {1}\end{array}\right] \left[ \begin{array}{c}{X_{w}} \\ {Y_{w}} \\ {Z_{w}} \\ {1}\end{array}\right] ⎣⎢⎢⎡XcYcZc1⎦⎥⎥⎤=⎣⎢⎢