【问题标题】:Distance between camera and object?相机和物体之间的距离?
【发布时间】:2016-09-15 20:43:58
【问题描述】:

我知道已经发布了一些关于这个主题的答案,但我不太清楚如何测量相机和物体之间的距离。

我的目标:

我设法使用 OpenCV 通过颜色检测跟踪了一个红球。 现在我试图将激光指向红球的中间。激光在移动时应始终跟随红球。我正在使用一个小型伺服电机来转动激光。

我在想如果我能测量物体和相机之间的距离,我就能计算出舵机需要转动的角度......

我尝试关注Cameron Lowell Palmer's post

我做了什么:

我校准了我的 Pi Camera V2

f_x : 463.64
f_y : 463.64
c_x : 319,50
c_y : 239.5

原始分辨率 = 3280 x 2464(我认为?我不知道如何找到这个...)
焦距 = 3.00mm(我想?我不知道如何找到这个...)

那么我应该能够以像素为单位测量我的对象大小吗?我不知道怎么...

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 发布示例图像...您可以使用 HSV 颜色空间很好地检测红色。也许这会帮助你检测到红球。
  • 检测红球不是问题,它是测量红球和相机之间的距离......
  • 尝试solvePnP来获得物体的位置或使用已知的真实球的大小和测量的像素大小。

标签: opencv camera distance


【解决方案1】:

您能否通过将像素大小与对象(红球)大小相关联来推断近似距离?回到初等代数,您可以在已知距离的情况下推断远处某物体与物体之间的高度。在这种情况下,您知道的是对象大小、像素大小和焦距。

【讨论】:

  • 是的,我试图找到这个公式的数字距离(毫米)=[焦距(毫米)*实际高度对象(毫米)*图像高度(像素)]/[(对象高度(px)*传感器高度(px)] 1)我不确定焦距和传感器高度2)我应该考虑校准的不准确值这就是我卡住的地方......
  • 也许这可以帮助你:ksimek.github.io/2013/08/13/intrinsic 它讨论了相机模型的内在参数。你已经有了焦距,不是吗:f_x 和 f_y。
【解决方案2】:

我设法得到了距离,但它并不准确。

我做了什么:

  • 我按照官方教程中的说明校准了相机
  • 我使用cameraMatrix 和distortionCoeff 未扭曲图像。使用 undistort() 函数
  • 按照here 的说明,我对图像进行了阈值化以过滤掉红球。
  • 我使用公式计算了相机和红球之间的距离:

距离 = FocalLength in mm *(真实对象宽度,单位 mm)/(虚拟对象宽度,单位 px)

  • 为了获得虚拟对象的宽度,我在阈值图像周围画了一个轮廓(我使用了 minEnclosureCircle)。然后我计算了这个轮廓的宽度。
  • 我从函数“calibrationMatrixValues”中检索了我的focalLength

结果图片Result

距离表(运行代码sn-p):

    <table border="1" style="text-align: center">
    <thead>
      <tr>
        <th>Real Distance (mm)</th>
        <th>Calculated Distance (mm)</th> 
      </tr>
    </thead>
     <tbody>
       <tr>
           <td>100</td> 
           <td>83</td> 
       </tr>
       <tr>
           <td>200</td> 
           <td>174</td> 
       </tr>
       <tr>
           <td>300</td> 
           <td>275</td> 
       </tr>
       <tr>
           <td>400</td> 
           <td>384</td> 
       </tr>
       
     <tbody>   
    </table>

现在,我只在结果中添加 20 毫米。如果有人可以帮助我获得更精确的测量结果,我将不胜感激:-)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2022-11-23
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    相关资源
    最近更新 更多