Processing math: 100%

图像坐标到世界坐标

Catalogue
  1. 1. 像素坐标系到世界坐标系之间的转化
    1. 1.1. 需求
    2. 1.2. 已知
    3. 1.3. 解决方法
      1. 1.3.1. 像素坐标系与图像坐标系的转换
      2. 1.3.2. 相机坐标系与图像坐标系的转换
      3. 1.3.3. 世界坐标系与相机坐标系的转换
      4. 1.3.4. 转化公式

像素坐标系到世界坐标系之间的转化

需求

​ 在一张图片里,使用一个像素点的坐标找到,该像素所对应的物体关于相机的相对坐标

已知

 1. 像素点在图像中的坐标 x,y
 2. 光心到该物体的距离 l
 3. 摄像头的焦距 f
 4. 图片中的像素点在相机成图的平面内所对应的物理长度,即 dx ,dy
 5. 相机的分辨率,即相机所获取的图像的长宽,可计算出u0,v0
 6. 相机旋转的角度 和偏移量T

解决方法

​ 在这里主要是用到图片中的世界坐标系、相机坐标系、图像坐标系、像素坐标系

​ 各个坐标系的假设坐标如下图所示:

imgimg

像素坐标系与图像坐标系的转换

​ 像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。图像坐标系的原点为相机光轴与成像平面的交点,通常情况下是成像平面的中点或者叫principal point。图像坐标系的单位为mm,属于物理单位,而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。所以这两者之间的转换如下:其中dx和dy表示每一列和每一行分别代表多少mm,即1pixel = dx mm

​ 像素坐标系与图像坐标系坐标之间的关系如下图所示:

imgimg

​ 将图中的式子转换之后可得:
[x y 1 ]=[dx0u0dx 0dyv0dy 001 ][u v 1 ]

相机坐标系与图像坐标系的转换

在知道目标在图像上的坐标(x,y,f)后,按照已知的距离信息我们可以获得

xcx=ycy=zcf=lx2+y2+f2

即:

{xc=lx2+y2+f2x yc=lx2+y2+f2y zc=lx2+y2+f2f 

世界坐标系与相机坐标系的转换

imgimg

imgimg
从上面两张图,得到
imgimg

通过转化得到:
[Xc Yc Zc ]=[CosθSinθ0 SinθCosθ0 001 ][100 0CosφSinφ 0SinφCosφ ][Cosω0Sinω 010 Sinω0Cosω ][Xw Yw Zw ]+T


再得到:
[Xw Yw Zw ]=[Cosω0Sinω 010 Sinω0Cosω ]1[100 0CosφSinφ 0SinφCosφ ]1[CosθSinθ0 SinθCosθ0 001 ]1[Xc Yc Zc ]T

最后得到:
[Xw Yw Zw ]=[Cosω0Sinω 010 Sinω0Cosω ]1[100 0CosφSinφ 0SinφCosφ ]1[CosθSinθ0 SinθCosθ0 001 ]1[lx2+y2+f2x lx2+y2+f2y lx2+y2+f2f ]T

转化公式

[Xw Yw Zw ]=[Cosω0Sinω 010 Sinω0Cosω ]1[100 0CosφSinφ 0SinφCosφ ]1[CosθSinθ0 SinθCosθ0 001 ]1[lx2+y2+f2x lx2+y2+f2y lx2+y2+f2f ]T