有没有可能用相机测量物体的距离?

是否有可能测量与手机相机的距离。 我的意思是,在我的应用程序中,我启动相机,面对相机的对象(让我们说房子),然后按下button,它计算距离,并在屏幕上显示我。

如果可能的话,我可以find一些教程或信息?

那么你应该阅读ithinkdiff.com如何“度量”距离:

使用iPhone的angular度来估计到地面上的点的距离。 将iPhone保持在您面前,对准相机中的点并直接读取距离。 距离然后可以在速度工具中使用。

所以,基本上需要把握手机的高度(眼睛水平),然后你必须将相机指向物体接触地面的点。 然后手机测量倾斜度并用简单的三angular计算距离。

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

我接受这个问题已经得到了充分的回答(有明显的要求水平和可能的准确性问题的警告),但是对于那些不相信它可以完成或者需要摄像机的人来说,让我解释一下低级math需要做到这一点….

替代文字

上面的图片显示了我站在我家的外面。 水平线(d)是我想测量的距离,垂直线(h)是我拿着相机的地面以上的高度。 在这种情况下,“h”是一个已知的价值,当我把眼睛水平(约67英寸或1.7米)的Android相机。 当我倾斜相机直接瞄准我家的地面,所有的软件需要做的是相对于垂直的angular度(一),它可以计算'D'使用…

d = h * tan a 

不。 相机只能给你的图像数据,单独的图像不会给你足够的信息给你深度信息。 如果你有多个图像,你有位置信息,甚至video,你可以处理它来三angular测距,但单一的图像不足以给你一个距离。

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

您可以使用我们的眼睛使用相同的技术来获得深度和距离的视angular。 从两个不同的摄像头位置获取同一个对象的两幅图像。 摄像机与物体之间的距离与2个图像中的物体之间的距离或像素成反比。 实现可在https://github.com/agnelvishal/Distance-between-camera-and-object下面是研究论文http://dsc.ijs.si/files/papers/S101%20Mrovlje.pdf

不,只有两个立体声模式的相机,如Xbox 360 kinect。 三angular距离至less需要3分。

我认为这个应用程序使用的方法MisterSquonk提到(免费)。 观看“三angular”技术。

我想通过使用FastCV你可以计算相机和对象之间的距离。 在这里你不需要知道你在地面以上的相机的angular度或位置。 看看这个问题在这里

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