【问题标题】:How to get 3D position using Monocular vision and OpenCV如何使用单目视觉和 OpenCV 获得 3D 位置
【发布时间】:2017-02-08 16:20:35
【问题描述】:

当相机与地面成 45 度角时,如何使用一台相机和 OpenCV 确定物体的 3D 位置?

【问题讨论】:

    标签: opencv 3d camera


    【解决方案1】:

    如果您想要更准确的结果,可以使用深度学习模型来估计输入图像中像素的深度。有一些可用的开源模型,例如 one。但是请注意,bts 模型是从自动驾驶汽车的角度使用KITTI 数据集进行训练的。为了获得更好的结果,您需要有一个与您的应用程序相关的数据集。然后使用 bts 等框架来训练模型进行深度估计。该模型将为您提供具有(x,y,z) 坐标的单个图像的点云。

    【讨论】:

      【解决方案2】:

      两种类型的运动可以应用于 3D 世界中的相机:平移和旋转。如果没有平移,则无法从单声道相机推断深度。您应该检查立体视觉的详细信息。

      简单地说,您需要恢复基本矩阵,其中 E = [t_x]R 并且如果 t_x = 0,这意味着您正在使用单目视觉。经典立体视觉无法恢复这一点。

      但是,有些方法使用训练数据集的深度来推断测试图像的深度。请查看this slide。他们发布了他们的 Matlab 代码;但是,您可以自己轻松地实现它。

      【讨论】:

      • 在物体大小、焦距、距离固定的情况下,可以用单目视觉获得深度。
      • 当然,我假设没有关于该对象的信息。
      猜你喜欢
      • 2018-02-25
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 2012-08-29
      • 2010-12-25
      • 1970-01-01
      相关资源
      最近更新 更多