【发布时间】:2017-02-08 16:20:35
【问题描述】:
当相机与地面成 45 度角时,如何使用一台相机和 OpenCV 确定物体的 3D 位置?
【问题讨论】:
当相机与地面成 45 度角时,如何使用一台相机和 OpenCV 确定物体的 3D 位置?
【问题讨论】:
如果您想要更准确的结果,可以使用深度学习模型来估计输入图像中像素的深度。有一些可用的开源模型,例如 one。但是请注意,bts 模型是从自动驾驶汽车的角度使用KITTI 数据集进行训练的。为了获得更好的结果,您需要有一个与您的应用程序相关的数据集。然后使用 bts 等框架来训练模型进行深度估计。该模型将为您提供具有(x,y,z) 坐标的单个图像的点云。
【讨论】:
两种类型的运动可以应用于 3D 世界中的相机:平移和旋转。如果没有平移,则无法从单声道相机推断深度。您应该检查立体视觉的详细信息。
简单地说,您需要恢复基本矩阵,其中 E = [t_x]R 并且如果 t_x = 0,这意味着您正在使用单目视觉。经典立体视觉无法恢复这一点。
但是,有些方法使用训练数据集的深度来推断测试图像的深度。请查看this slide。他们发布了他们的 Matlab 代码;但是,您可以自己轻松地实现它。
【讨论】: