如何使用相机获取一个物体到另一个物体的距离?

时间:2019-02-19 04:11:47

标签: java image-processing camera robotics object-recognition

我的FRC(机器人)团队在图像处理方面遇到了问题,明天是我们比赛前的最后一个测试日。 相机朝下并沿x方向倾斜。我们正在尝试计算对象到同一表面上的固定点的距离。我们只需要计算x距离(以英寸为单位)即可。

Here's a diagram. 该对象可以位于具有固定点的直线上的任何位置。

Here is the view from the camera

卷尺代表图中的线。 我知道这是低分辨率,而不是最佳照片,我是在今天离开之前拍摄的。卷尺是物体可能在的位置。而且我们只关心它的x位置。

如果需要的其他信息:

  • 相机:小精灵
  • 焦距:28mm(1.1024“)
  • 传感器尺寸:0.25英寸
  • 相机从地面(在我们的情况下为地面)的高度:8英寸

我们总是知道对象的x位置(以像素为单位),我们只需要计算对象到固定点的距离(以英寸为单位)即可。

如果还有其他问题,请询问。谢谢。

1 个答案:

答案 0 :(得分:0)

使用卷尺的图像,您在正确的轨道上。您所需要做的就是手动(从该图像开始),确定每个x位置(像素)的英寸(从零开始)。创建一个可以在代码中使用的查找表。

确定对象的x位置和固定点的x位置时,请查找每个x位置的英寸,然后减去以得到对象和固定点之间的距离。

这种方法非常简单,但也取决于系统的正确校准。特别是,在拍摄用于创建查找表的测试图像时,操作设置(高度,角度,摄像头光学元件等)必须与设置完全匹配。

一种标准技术是,只要操作设置可能已更改,就通过获取和处理校准图像来校准系统。例如,您可以在视野中放置一个网格图案(例如,一个一英寸的正方形)。想法是您编写一个校准分析,它将根据标准图像确定适当的查找表值。