可以用相机测量到物体的距离吗?
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 检测到的物体的尺寸。前任。高度,宽度,与相机的距离