【问题标题】:Find Distance between barcode and camera?查找条形码和相机之间的距离?
【发布时间】:2013-01-10 21:39:04
【问题描述】:

如果实际条码的大小和摄像头检测到的条码所有角的(x,y),是否可以求出检测到的二维条码(正方形)与摄像头的距离知道吗?

即使相机与条形码成一定角度,我也希望该方法能够正常工作。

我尝试使用像 f=d*z/D 这样的简单方程,其中 f 是相机的局部长度,D 是对象的大小,d 是检测到的对象的宽度(以像素为单位),z 是相机和条形码之间的距离。首先,我使用已知距离的数据计算焦距,然后相应地获取 z 值。

虽然上述方法效果很好,但如果相机处于某个角度,则会出现很多错误。

有没有更好的方法来做到这一点?

另外,我只能使用一个摄像头,不能使用两个摄像头。

【问题讨论】:

  • 相机和条码的距离你怎么看?相机像平面中心到条码中心的距离?
  • 是的,条形码中心和图像平面中心。
  • 另外需要注意的是,我的相机是安装在机器人上的,条形码会贴在墙上。
  • 你不能纠正失真吗?
  • 我不确定如何纠正失真。

标签: image-processing computer-vision robotics


【解决方案1】:

使用您当前的公式(您声明效果很好)针对最长边及其相反,然后平均结果。

或者,只需平均最长边及其对边的长度。这些关系都是线性的,所以你应该得到相同的答案。

【讨论】:

  • (infinity + x) / 2 似乎不是一个好结果。无穷大来自一个非常有角度的图像,其中一侧的宽度接近 0 像素。
【解决方案2】:

首先你必须知道相机的角度。 如果您无法从设备中读取该参数,您可以使用其他措施估计该参数。

例如,您知道条形码是矩形的。因此,通过检测它,您可以获得四个角度,并从中估计出同形矩阵。通过了解单应矩阵,您可以通过将坐标乘以单应逆矩阵来简化问题。

单应矩阵广泛用于相机校准中,当出现已知模式(例如棋盘)时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多