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

时间:2011-01-03 21:22:23

标签: android camera distance

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

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

如果有可能我可以找到一些教程或相关信息?

10 个答案:

答案 0 :(得分:57)

我接受这个问题已经得到了充分的回答(明显需要平坦的注意事项和可能的准确性问题),但是对于那些不相信它或者需要摄像机的人来说,让我解释一下需要等级数学才能实现....

alt text

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

d = h * tan a

答案 1 :(得分:26)

那么你应该读一下ithinkdiff.com如何“测量”距离:

  

使用iPhone的角度估算到地面上一点的距离。   将iPhone放在你面前,对准相机中的点并直接进行操作   读取距离。然后可以在速度工具中使用该距离。

所以基本上它需要你拿着手机的位置(眼睛高度),然后你必须将相机指向物体接触地面的点。然后手机测量倾斜度,用简单的三角法计算距离。

这当然不是很准确。对象越远,它就越不准确。它也假设地面是水平的。

答案 2 :(得分:9)

不。相机只能为您提供图像数据,而单独的图像并不能为您提供足够的信息来为您提供深度信息。如果你有多个图像,你有位置信息甚至视频,你可以处理它来三角测量距离,但单独一个图像不足以给你一个距离。

答案 3 :(得分:3)

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

1)从两个不同的摄像机位置获取同一对象的2个图像。

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

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

答案 4 :(得分:2)

你在手机的加速度计中有角度。如果计算此角度的正切并将其乘以相机镜头的高度,则可获得距离。

答案 5 :(得分:0)

没有。只有两个相机处于立体声模式,如xbox 360 kinect。三角测量距离需要至少3个点。

答案 6 :(得分:0)

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

答案 7 :(得分:0)

我认为通过使用FastCV,您可以计算相机与物体之间的距离。在此你不需要知道你在地面以上的相机的角度或位置。看看这个问题here

答案 8 :(得分:0)

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

答案 9 :(得分:0)

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