我有一个具有宽度和高度分辨率以及相机参数的相机:
[[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 的世界坐标?
我有一个具有宽度和高度分辨率以及相机参数的相机:
[[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 的世界坐标?
我将尝试带来我在一本旧书中找到的一些亮点(此答案末尾的参考)。
首先,您不能从 (x,y) 图像坐标直接映射世界坐标的 z 轴,因为这是一对多的问题:一个像素点可以位于任何 z 轴线点。然而,有很多关于仅使用一个图像透视图和其他使用两个图像透视图(立体视觉)来估计这个 z 轴的研究和算法。
但是如果你已经有了单词坐标 Z 轴,你可以使用上面的公式计算 X 和 Y。
在哪里:
我不是机器人专家,但也许这可以澄清你的道路。我使用下面书中的图片(第 313 页)。
参考书:FU,KS;冈萨雷斯,RC;李,南玻。机器人技术:控制、传感、视觉和智能。[s。L.]:麦格劳-希尔,1987。