【发布时间】:2017-04-09 09:02:30
【问题描述】:
我应该在相机中找到物体的宽度。我在 SO 中阅读了很多帖子,但除了对象的距离和高度外,没有一篇解释过宽度计算。所以有人请指导我用三角公式从理论上解释物体的宽度。我只有一个输入,即相机距地面的高度。
提前致谢。
【问题讨论】:
标签: android android-camera trigonometry android-sensors
我应该在相机中找到物体的宽度。我在 SO 中阅读了很多帖子,但除了对象的距离和高度外,没有一篇解释过宽度计算。所以有人请指导我用三角公式从理论上解释物体的宽度。我只有一个输入,即相机距地面的高度。
提前致谢。
【问题讨论】:
标签: android android-camera trigonometry android-sensors
嗯,我正在回答我自己的问题,以帮助其他有同样问题的人。
要找到宽度,请按照以下步骤操作。这需要 3D 的想象力才能理解
1) 用户需要手动输入观察点的高度(即相机距地面的高度)。
2) 被测宽度的物体,需要与人站立的高度相同。
3)我们需要从相同的高度指向对象起点的底部并捕获角度。
4)然后我们需要将设备倾斜到相同的高度,并捕捉物体终点的底部并测量角度。
5) 使用距离地面的角度和相机高度,我们将应用 tan 规则找到双方各自的距离。
tan(θ)=opposite/adjacent
tan(θ)=height_of_camera/distance
6) 根据我们在上一步计算的距离和相机的高度,使用勾股定理,计算投影距离,即相机到对象起点和终点(在 3D 视图中想象)
7) 现在我们有 2 条边和一个角,使用以下公式(余弦规则)得到另一边,即对象的宽度。
Width = sqrt((s1*s1) + (s2*s2) − 2(s1)(s2)cos(θ))
s1=sideOne , s2=sideTwo
【讨论】: