有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用相机获得从一个对象到另一个对象的距离?

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

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

Here is the view from the camera

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

其他信息(如需要):

  • 摄像机:皮克斯
  • 焦距:28毫米(1.1024英寸)
  • 传感器尺寸:0.25“
  • 摄像机距地面的高度(本例中为地面):8“

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

如果您有任何其他问题,请询问。谢谢


共 (1) 个答案

  1. # 1 楼答案

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

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

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

    标准技术是在操作设置可能发生变化时,通过拍摄和处理校准图像来校准系统。例如,可以在视野中放置栅格图案(例如,带有一英寸正方形)。其思想是编写一个校准分析代码,该分析将根据标准图像确定正确的查找表值