我有一个摄像头,有宽和高的分辨率和摄像头参数。
[[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。
其中:(x,y)=图像坐标
我不是机器人方面的专家,但也许这可以澄清你的路径。我使用了下面书中的图片(313页)。
参考书: FU, K. S.; GONZALEZ, R. C.; LEE, C. S. G. 。机器人:控制、传感、视觉和智能。[s.L.]: Mcgraw - Hill,1987.