0

有人可以帮忙吗,我需要做这种应用程序,但更简单。所以你拍照并计算距离......

https://play.google.com/store/apps/details?id=com.potatotree.manualdistance

有没有好的教程推荐???谢谢你。

4

2 回答 2

2

有一种简单的方法,但我认为它会非常不准确。看看这个三角形: 三角形

现在,想象有一个人站在旁边a

  1. 如果这个人将他的相机指向A,然后使用SensorManager.getOrientation(),您可以获得α角度。
  2. 如果你问用户他的身高,你也可以得到a.
  3. 在这种情况下,tan(α)=a/b。所以距离等于b=a/tan(α)

这似乎很容易,但过程中总结的所有错误使结果几乎完全无法使用。而且它只能在平坦的地面上“工作”。当它很陡时,您必须知道人与测量点之间的垂直差异并进行更多计算。

所以,是的,你可以让它变得简单,但你真的想要吗?

于 2013-10-19T01:31:39.183 回答
1

没有真正的物理方法可以从单点图像中获取距离。你需要某种视差来确定它有多远。

这就是为什么当你遮住一只眼睛时你会失去深度感知 - 当你这样做时你会失去视差(两个参考点之间的距离)。

您至少需要知道一侧才能估计三角形的长度。

激光测距仪通过测量激光脉冲的返回时间来解决这个问题,而不是通过扫描图像。

于 2013-10-18T22:58:45.943 回答