所以,我是一名高中生和当地机器人团队的首席程序员,今年我决定尝试OpenCV并对我们的机器人进行一些视觉处理。
根据我的视觉代码,我需要了解竞争领域中某些对象的一些内容。这些东西是:距离(ft),相机的水平角度和相机的水平距离(ft)。基本上,一个大的直角三角形。
我已经让相机成功检测到这些物体并在它们周围放置了一个boundingRect。在我们的机器人上使用陀螺仪,一旦检测到物体,我们应该能够使机器人与物体成90度角(因为它是场上的设定角度)。因此,我可以根据对象的boundingRect区域的经验函数来计算距离。
物体与相机的水平角度,但是,我不确定如何接近。但是,有了这个,我可以做一些简单的触发并获得水平距离。
-
所以这就是我们拥有/知道的东西:与物体的距离为ft,物体与相机成约90度,相机具有67度的水平fov / 800x600的分辨率,物体的真实世界尺寸和一个boundingRect在对象周围。
如何使用所有这些信息计算从相机到物体的水平角度?