前言
在各种计算机视觉的引用中,常常提到下面多个坐标系:世界坐标系,相机坐标系,图像坐标系,像素坐标系。本文将介绍各个坐标系所代表的意义,帮助大家更好的理解计算机视觉。
其中各个坐标系下的转换关系如下图所示:
各个坐标系示意图:
一、世界坐标系:
世界坐标系(World Coordinate System)是计算机图形学、机器人学、物理学等领域中用来描述物体位置和方向的一个标准参考框架。在三维空间中,世界坐标系通常是一个固定的、全局的坐标系,所有的物体和坐标系都可以相对于它来定义和描述。从非技术意义上讲,世界坐标系建立的是我们所关心的最大坐标系,而不必真的是整个世界,只是为了更好的描述相机的位置在哪里。
世界坐标系通常用( X w , Y w , Z w ) 来表示,当首先在场景中定义一个点时,我们说它的坐标是在世界空间中定义的:该点的坐标是相对于全局或世界笛卡尔坐标系定义的。坐标系具有一个原点,称为世界原点,并且相对于该原点定义了该空间中定义的任何点的坐标。
二、相机坐标系:
相机坐标系是用于描述相机在三维空间中的位置和方向的坐标系统。它是计算机视觉和摄影测量学中的一个基本概念,用于将三维世界中的点映射到二维图像平面上。相机坐标系通常以相机的光学中心(也称为光心或摄像机的主点)作为原点,三个互相垂直的轴通常表示为Xc、Yc和Zc:Xc轴:通常指向相机的右侧。Yc轴:通常指向相机的下方。Zc轴:通常与相机的光轴方向一致,指向相机前方,如下图所示,黄色圆圈框选的地方即为相机坐标系。
世界坐标系可根据刚体变换(三维空间中,当物体不发生形变时,对一个几何物体作旋转 R , 平移 t的运动,称之为刚体变换),转换方程为P c =R⋅P w+t。
其中:Pw=[xw,yw,zw]T是世界坐标系中的点。Pc=[xc,yc,zc]T是相应的相机坐标系中的点。R 是旋转矩阵。t 是平移向量。
即:
三、图像坐标系:
图像坐标系是用于描述图像中像素位置的一个二维坐标系统,用于描述图像中的点相对于相机成像平面的位置。其定义如下:,图像坐标系通常有两个坐标轴,分别称为u轴(水平轴)和v轴(垂直轴)。原点通常位于图像的中心,即相机的主点(principal point)。u轴和v轴通常分别平行于图像的水平和垂直方向。单位通常是毫米(mm)或其他实际的物理长度单位,而不是像素。
在图像坐标系中,坐标点表示的是从主点出发,沿u轴和v轴的距离。这个坐标系与相机的内参(内部参数)紧密相关,用于将三维空间中的点通过相机投影到二维平面上。
从上图可知,如果相机坐标系到图像坐标系的转化,我们可以理解为,如何将相机坐标系下的3D点 P(Xc,Yc,Zc)映射到p(x,y)上,通过蓝色虚线部分,我们可以得到两个相似三角形OcCp与OcBP,其中相机坐标系的原点Oc\到图像坐标系的原点 O的距离,我们称之为焦距f 。
四、像素坐标系:
像素坐标系也是一个二维笛卡尔坐标系,但它直接与数字图像的像素相对应。
其定义如下:
原点通常位于图像的左上角。
u轴(或x轴)和v轴(或y轴)分别表示图像的列和行。
单位是像素(px),坐标值通常是整数。
在像素坐标系中,坐标点表示的是图像中像素的位置。例如,(0,0)通常表示图像左上角的第一个像素。
从图像坐标系到像素坐标系的转换通常涉及到以下步骤:
- 将图像坐标系的点平移,使得原点与像素坐标系的左上角对齐。
- 将图像坐标系的单位从实际的物理长度单位转换为像素单位。
这个转换可以通过以下公式表示:
其中,upx和 vpx是像素坐标系中的坐标,f x和 fy是在x轴和y轴上的焦距(以像素为单位),c x和 cy是主点在图像中的像素位置。