如何获取世界坐标?

问题描述 投票:1回答:1

我有一个摄像头,有宽和高的分辨率和摄像头参数。

[[position_x, position_y, position_z], [focal_point_x, focal_point_y, focal_point_z], [view_up_x, view_up_y, view_up_z]]

假设给我相机图像平面上的一个点,坐标是: x,y ( 0,0 左上角 width-1, height-1 右下角)。)

如何从这样的相机、图像数据中获取我的点的世界坐标x,y?

python 3d camera screen world-coordinates
1个回答
0
投票

我尽量把我在一本旧书中找到的一些重点内容拿来(参考在本答案的最后)。

首先,你不能从你的(x,y)图像坐标直接映射世界坐标的z轴,因为这是一个一比多的问题:一个像素点可以在任何z轴线点上。然而关于这个z轴的估算,有很多研究和算法,有的只用一个图像视角,有的用两个图像视角(立体视觉)。

但如果你已经有了字坐标Z轴,就可以用上面的公式计算出X和Y。

enter image description here

其中:(x,y)=图像坐标

  1. (x,y)=某点的图像坐标。
  2. (X0,Y0,Z0) = 摄像机字坐标
  3. (X,Y,Z)=某点的字坐标。
  4. α = x轴和X轴之间的角度
  5. θ=z和Z轴之间的角度
  6. λ=焦距

enter image description here

我不是机器人方面的专家,但也许这可以澄清你的路径。我使用了下面书中的图片(313页)。

参考书: FU, K. S.; GONZALEZ, R. C.; LEE, C. S. G. 。机器人:控制、传感、视觉和智能。[s.L.]: Mcgraw - Hill,1987.

© www.soinside.com 2019 - 2024. All rights reserved.