在OpenCV中获取具有X,Y和距离对象的3D坐标

时间:2018-02-08 19:23:31

标签: python c++ opencv

我正在尝试将图像中跟踪对象的X,Y位置转换为3D坐标。

我根据被跟踪对象(A标记)的大小得到了与对象的距离,但现在我需要将所有这些转换为空间中的3D坐标。我一直在阅读很多相关内容,但我找到的所有方法都需要校准矩阵来实现这一目标。

在我的情况下,我不需要很多精确度但是我需要这个才能在没有校准的情况下使用多个摄像头。有没有办法实现我想要做的事情?

2 个答案:

答案 0 :(得分:0)

“没有校准”位让你感到沮丧,抱歉。

在不知道焦距(或等效视野)的情况下,您无法将像素“转换”为光线。

请注意,您有时可以直接从相机获得近似校准 - 例如,它可能会将其镜头的焦距写入捕获图像的EXIF标题中。

答案 1 :(得分:0)

如果您正在使用某种微控制器,则可以将传感器指向通过相机看到的物体以获得距离。

您很可能必须使用复杂的算法才能让多个摄像头协同工作以返回距离。如果没有校准,这些相机就无法合作,正如Francesco所说。