从相机和传感器中查找对象的宽度

时间:2017-04-09 09:02:30

标签: android android-camera trigonometry android-sensors

我应该在相机中找到物体的宽度。我在SO中阅读了很多帖子,但没有一个关于宽度计算的解释,除了对象的距离和高度。所以有人请指导我用trignometric公式理论解释找到对象的宽度。我只有一个输入,即地面相机的高度。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我正在回答我自己的问题,以帮助其他人遇到同样的问题。

为了找到宽度,请按照以下步骤操作。这需要3D想象力来理解

1)用户需要手动输入观察点的高度(即地面相机高度)。

2)要测量宽度的物体,需要与人站立的物体处于同一水平。

3)我们需要从相同的高度指向对象起点的底部并捕捉角度。

4)然后我们需要将设备倾斜到相同的高度并捕捉物体终点的底部并测量角度。

5)从地面角度和相机高度,我们将找到应用tan规则的两侧各自的距离。

   tan(θ)=opposite/adjacent
   tan(θ)=height_of_camera/distance

6)从我们在上一步计算的距离和相机的高度,使用毕达哥拉斯定理,计算投影距离ie.camera到对象的起点和终点(在3D视图中想象)

7)现在因为我们有两个边和一个角,所以使用下面的公式(余弦规则)得到另一边,即对象的宽度。

  Width = sqrt((s1*s1) + (s2*s2) − 2(s1)(s2)cos(θ))
  s1=sideOne , s2=sideTwo
相关问题