1

我想实现一个应用程序来测量相机和聚焦对象之间的距离。请帮我启动这个应用程序。即使我不知道如何启动这个应用程序。请给我一些想法。

4

3 回答 3

5

这非常困难!Iphone 有许多功能,要实现这一点,您需要跟踪光束或类似激光的东西。您可以尝试使用 GPS 并获取距离,但专注于对象肯定需要一些预加载的数据。我建议一种叫做“视差法”的方法,天文学家很难用这种方法来测量地球与恒星之间的距离。这绝对是可能的,但需要大量的研发,iPhone相机有局限性,在你使用视差方法之前需要一些研发,因为它需要相机以不同的角度捕捉照片。还有很多数学的东西(比如三角函数)绝对是可能的

于 2012-11-28T07:58:55.543 回答
3

有一个简单的方法,无论如何,它不是那么准确。您需要获取使用您的应用程序的人的高度,或者更具体地说,获取镜头的高度(实际空间中的 y 位置)。通过使用三角形公式,您可以测量距离。

想象一个三角形,其中A用户的脚、BiPhone 摄像头和C您想知道距离的对象的底部。你有c,人的高度(或相机镜头的高度),角度α,这是 90° 和β你可以通过加速度计从 iPhone 获得的角度。剩下的就是数学:

γ = 180 - α - β
b = c * sin(β) / sin(γ)

但是有一些限制:您要测量距离的对象和用户必须在同一水平面上,或者至少用户必须知道要测量到英尺水平的点。从大约 10 米开始,这种方法变得非常不准确。并且:您必须通过减去偏移量来归一化加速度计——例如让用户将其平放在水平面上。

在此处输入图像描述

希望这可以帮助。

(对不起我糟糕的数学英语;))

于 2012-11-28T08:14:43.353 回答
2

虽然理论上你可以做到这一点,但我认为这实际上不能用 iPhone 相机完成。优点是,iPhone 相机的焦距是固定的,所以如果你知道要测量的物体的大小,就可以计算出到它的距离。如果您不知道尺寸,则需要从不同角度制作几张图片或一段视频。但是你需要知道每帧的距离或位置。你可以使用 GPS,但它不够准确,除非我们谈论的是几百米外的物体。如果是这种情况,您将需要来自彼此相距很远的位置的对象的不同图像才能获得不错的准确性。总的来说,理论上是可能的,但我怀疑你会得到任何令人满意的结果。

于 2012-11-28T08:09:58.530 回答