2

我有一个具有宽度和高度分辨率以及相机参数的相机:

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

假设给了我一个带有坐标的相机图像平面的点xy00左上角width-1height-1右下角)。

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

4

1 回答 1

0

我将尝试带来我在一本旧书中找到的一些亮点(此答案末尾的参考)。

首先,您不能从 (x,y) 图像坐标直接映射世界坐标的 z 轴,因为这是一对多的问题:一个像素点可以位于任何 z 轴线点。然而,有很多关于仅使用一个图像透视图和其他使用两个图像透视图(立体视觉)来估计这个 z 轴的研究和算法。

但是如果你已经有了单词坐标 Z 轴,你可以使用上面的公式计算 X 和 Y。

在此处输入图像描述

在哪里:

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

在此处输入图像描述

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

参考书:FU,KS;冈萨雷斯,RC;李,南玻。机器人技术:控制、传感、视觉和智能。[s。L.]:麦格劳-希尔,1987。

于 2020-05-25T18:05:57.580 回答