OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系

一、各坐标系介绍

图像处理、立体视觉经常涉及到世界坐标系、相机坐标系、图像坐标系和像素坐标系。

如下图所示:

OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系_第1张图片

世界坐标系是为了确定相机的位置,在双目视觉中一般将世界坐标系原点定在左相机、右相机

或两者X轴方向的中点。

下面是各坐标系之间的装换,换而言之,就是一个现实中的物体是如何在图像中成像的。

二、世界坐标系和相机坐标系之间的转换

OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系_第2张图片

从世界坐标系到相机坐标系,设计到物体的旋转和平移。绕着不同的坐标轴旋转不同的角度,

得到相应的旋转矩阵。如下图所示:

OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系_第3张图片

那么从世界坐标系到相机坐标系的转换关系如下所示:

OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系_第4张图片

可以得到P点在相机坐标系中的坐标:

其中T为偏移矩阵

三、相机坐标系和图像坐标系之间的转换

从相机坐标系到图像坐标系,是从3D转换到2D,属于透视投影关系

OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系_第5张图片

此时投影点p的单位还是mm,并不是像素pixel,需要进一步转换到像素坐标系。

四、图像坐标系和像素坐标系之间的转换

像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。

图像坐标系的原点为相机光轴与成像平面的交点,通常情况下是成像平面的

中点或者叫principal point。图像坐标系的单位为mm,属于物理单位,

而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。所以

这两者之间的转换如下:其中dx和dy表示每一列和每一行分别代表多少mm,

即1pixel = dx mm

OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系_第6张图片

通过上面四个坐标系的转换可以得到一个点从世界坐标系如何转到像素坐标系。

OpenCV学习之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系_第7张图片

最右边等式的第一个是相机的内参,第二是相机的外参。

相机的内参和外参可以通过张正友标定获取。通过最终的转换关系来看,

一个三维中的坐标点,的确可以在图像中找到一个对应的像素点,

但是反过来,通过图像中的一个点找到它在三维中对应的点就很成

一个问题,因为我们并不知道等式左边的Zc值。






你可能感兴趣的:(OpenCV)