可以用相机测量到物体的距离吗?

Posted

技术标签:

【中文标题】可以用相机测量到物体的距离吗?【英文标题】:Is it possible to measure distance to object with camera? 【发布时间】:2011-06-03 01:48:01 【问题描述】:

是否可以用手机摄像头测量到物体的距离?

我的意思是,在我的应用程序中,我启动相机,将相机面对物体(比如说房子),然后按下按钮,它会计算距离并在屏幕上显示我。

如果可能的话,我可以在哪里找到有关它的教程或信息?

【问题讨论】:

嘿,智能手机,制造商!是时候为您的传感器添加激光测距仪了! Leica Disto D810 激光测距仪:ptd.leica-geosystems.com/en/Leica-DISTO-D810-touch_104560.htm Leica Disto 应用程序:play.google.com/store/apps/… 【参考方案1】:

我认为使用手机摄像头可以做到这一点。我知道现代手机使用镜头来聚焦物体。如果可以知道他们的焦距和他们的位置(位移)以聚焦于所选对象,那么也可以确定距离

【讨论】:

【参考方案2】:

您可以使用我们的眼睛使用的技术来获得深度和距离的透视。

1) 从两个不同的相机位置获取同一物体的 2 张图像。

2) 2 幅图像中物体之间的距离或像素与相机与物体之间的距离成反比。

该实施可在https://github.com/agnelvishal/Distance-between-camera-and-object 获得 这是研究论文http://dsc.ijs.si/files/papers/S101%20Mrovlje.pdf

【讨论】:

【参考方案3】:

实现此目的的一种方法是在您的设备中使用 DPI。您可以拍照并计算高度。但是您需要另一个对象作为参考,然后您将能够知道此方法的问题可能是对象之间的透视图

【讨论】:

【参考方案4】:

您应该阅读 ithinkdiff.com 如何“测量”距离:

使用 iPhone 的角度来估计到地面上某个点的距离。 将 iPhone 放在您面前,对准相机中的点并获得直接 距离的读数。然后可以在速度工具中使用距离。

所以基本上它需要你拿着手机的高度(眼睛水平),然后你必须将相机对准物体接触地面的点。然后手机测量倾斜度并通过简单的三角函数计算距离。

这当然不是很准确。物体越远,它就越不准确。它还假设地面是水平的。

【讨论】:

那是可能的。不准确但可能:)【参考方案5】:

我认为使用 FastCV 可以计算相机和物体之间的距离。在这种情况下,您不需要知道您在地面上持有的相机的角度或位置。看看这个问题here

【讨论】:

【参考方案6】:

您在手机的加速度计中有角度。如果你计算这个角度的正切并乘以相机镜头的高度,你就得到了距离。

【讨论】:

【参考方案7】:

我认为this App 使用了 MisterSquonk 提到的方法(它是免费的)。观看“三角学”技术。

【讨论】:

【参考方案8】:

我接受这个问题已经得到了充分的回答(显然需要水平地面和可能的准确性问题),但对于那些不相信可以完成或需要摄像机的人,让我解释一下低需要 - 级别的数学来做到这一点......

上图显示我站在我家外面。水平 (d) 是我要测量的距离,垂直 (h) 是我拿着相机的地面高度。在这种情况下,当我将安卓相机保持在视线水平(大约 67 英寸或 1.7 米)时,“h”是一个已知值。当我倾斜相机将其直接对准我的房子与地面相接的点时,软件需要做的就是计算出相对于垂直的角度 (a),它可以使用...计算“d”...

d = h * tan a

【讨论】:

六分仪是一种用于计算任何物体高度的设备。可能有帮助 @NicolasTyler 如果您假设距离是直线,则呈现的平局是正确的。否则,您需要从您的高度调整(添加或减去)山的缺失长度。 @danielpopa 我并不是说这是错误的。我说这可能不够准确,无法使用。【参考方案9】:

没有。只有两个摄像头处于立体模式,例如 xbox 360 kinect。三角距离至少需要 3 个点。

【讨论】:

【参考方案10】:

不。相机只能为您提供图像数据,而仅图像并不能为您提供足够的信息来为您提供深度信息。如果您有多张图像,并且您有位置信息甚至是视频,那么您可以对其进行处理以三角测量距离,但仅单张图像不足以为您提供距离。

【讨论】:

但是用摄像机呢?我想在 iPhone 上开发这样的应用程序ithinkdiff.com/… 嗯,它并不像“按下按钮,获得距离”那么简单,但它更有可能成为可能。但它仍然需要您在整个视频中的各个点获得有关位置的信息。如果您拍摄墙壁上画有 1 英尺纯白色圆圈的视频,从 10 英尺远到 5 英尺,您可以使用图像处理/几何来确定该圆圈有多远。出于您的目的,一般答案是“否”。 我添加了我想要实现的视频链接。如果 iPhone 可以,我认为 android 可以。但我需要一个开始,从哪里开始。 您会注意到,在该产品的描述中,他们要求您输入与被测对象的距离。 “使用相机检测和分析运动:设置到您要测量的对象的距离......” @Daniel 但在视频中他们会测量距离。

以上是关于可以用相机测量到物体的距离吗?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以仅使用相机来测量物体与安卓手机的距离[重复]

如何测量物体或人脸与相机的距离

想法如何使用opencv for IOS测量检测到的物体与相机的距离?

测量 Yolo 检测到的物体的尺寸。前任。高度,宽度,与相机的距离

如何用 Matlab 立体计算机视觉测量运动物体的距离和质心?

单目,双目,深度相机比较