像素坐标系到世界坐标系 python实现 像素坐标系工具_世界坐标系

一、世界坐标系到相机坐标系

世界坐标系,也称为测量坐标系,它是一个三维直角坐标系(xw,yw,zw)。在世界坐标系中可以描述相机和待测物体的空间位置。世界坐标系的位置根据实际情况自行确定。

相机坐标系也是一个三维直角坐标系(xc,yc,zc)。相机坐标系的原点是镜头的光心,x、y轴分别与相面的两边平行,z轴为镜头的光轴,与像平面垂直。

世界坐标系到相机坐标系的变换是刚体变换,也就是只改变物体的空间位置(平移)和朝向(旋转),而不改变物体的形状。用旋转矩阵R和平移向量t可以表示这种变换。

像素坐标系到世界坐标系 python实现 像素坐标系工具_齐次坐标_02

在齐次坐标下,旋转矩阵R是正交矩阵,可通过Rodrigues变换转换为只有三个独立变量的旋转向量。因此刚体变换用6个参数就可以表示(3个旋转向量,3个平移向量),这6个参数就是相机的外参。相机外参决定了空间点从世界坐标系到相机坐标系的变换。

像素坐标系到世界坐标系 python实现 像素坐标系工具_齐次坐标_03

二、相机坐标系到平面坐标系

从相机坐标系到平面坐标系,属于透视投影关系,从3D转换到2D。

平面坐标系,用物理单位表示像素的位置,单位是mm。坐标原点为摄像机光轴与图像坐标系的交点位置。

像素坐标系到世界坐标系 python实现 像素坐标系工具_齐次坐标_04


这一步完成了相机坐标系到理想的图像坐标系的转换,因为我们默认各个坐标系的变换是线性的。但实际上由于相机镜头中的镜片因为光线的通过产生不规则的折射,总是存在镜头畸变的。畸变的引入使得成像模型中的几何变换关系变为非线性。

三、平面坐标系到像素坐标系

像素坐标系以像素为单位,坐标原点在左上角。

像素坐标系到世界坐标系 python实现 像素坐标系工具_世界坐标系_05


把四个转换综合起来就是

像素坐标系到世界坐标系 python实现 像素坐标系工具_旋转矩阵_06