像素坐标系、图像坐标系、相机坐标系、世界坐标系


文章目录

  • 像素坐标系、图像坐标系、相机坐标系、世界坐标系
  • 1、图像坐标系 → \rightarrow 像素坐标系
  • 2、图像坐标系 → \rightarrow 相机坐标系
  • 3、相机坐标系 → \rightarrow 世界坐标系
  • 总结
  • References



上周发现对这四个坐标系之间的转换没有一个清晰的概念,这个下午写第一篇博客重新学习记录一下。

从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_计算机视觉

图片来源:《视觉SLAM十四讲》第二版P91


1、图像坐标系从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_02像素坐标系

像素坐标系通常的定义方式是:原点从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_03位于图像的左上角,从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_04轴向右与从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_05轴平行,从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_06轴向下与从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_07轴平行。

图像坐标系在这里指的是成像平面坐标系,在《视觉SLAM十四讲》中像素坐标系和图像坐标系是一样的(第一版 P72)。

从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_08

像素坐标系与图像坐标系之间相差了一个缩放和平移,由此图像坐标系从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_09的坐标从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_10与像素坐标从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_11的关系为:
从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_计算机视觉_12


2、图像坐标系从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_02相机坐标系

由于三角形相似关系有(去掉负号):
从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_计算机视觉_14
所以式(1)变为:
从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_15
转换为矩阵形式为:
从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_16

从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_计算机视觉_17

其中,从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_18为内参数矩阵(Camera Intrinsics)。


3、相机坐标系从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_02世界坐标系

齐次坐标下,相机坐标和世界坐标的关系为
从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_20
非齐次坐标下,相机坐标和世界坐标的关系为
从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_计算机视觉_21
其中,相机的位姿从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_计算机视觉_22称为相机的外参数矩阵(Camera Extrinsics)。

所以式(4)转化为
从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_23
注意最后一个式子隐含了一次其次坐标到非齐次坐标的转换。


总结

最后简单归纳关系图如下:

从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_世界坐标系_24

从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_计算机视觉_25

单目相机的成像过程(P90):

从像素坐标系到世界坐标系的变换python实现 像素坐标与世界坐标_缩放_26