计算特定对象的视野角度

时间:2014-05-14 05:44:47

标签: ios objective-c camera fieldofview

我已经计算了视野

float FOV = camera.activeFormat.videoFieldOfView;

但它是iPhone的视野。

我需要使用视野来计算对象的宽度。我怎么能计算出来 1)特定对象的视野 要么 2)使用相机的对象宽度

我在图片中有以下标记:

角度AOB = FOV我有

A' O和B'我已经计算过了。

需要计算 角度A' OB'并最终我的目标是计算A' B' (对象的宽度)

enter image description here

2 个答案:

答案 0 :(得分:2)

你需要3个关于三角形的独立信息来表征它,否则你只是描述了一类三角形。信息可以是角度或长度。

在您的情况下,您有两个关于三角形OA'B'的信息和一个关于OAB的信息,因此您无法做任何事情。

如果您有更多信息,作为对象拍摄的屏幕水平%,您可以通过乘法找到FOV与角度A'OB'之间的关系。 (X%* FOV = A'OB')

现在,如果你有A'OB',OA'和OB',你可以用三角法计算A'B'。

答案 1 :(得分:0)

如果我正确理解你,你仍然需要与物体的距离。一旦你有了,你就有了三角形的两边,现在可以计算出A'OB',如下所示:

  1. 我们拨打 A'B'/2 (即 A'B' 的中点), C' 。 ( OC' 是距离对象的距离。)
  2. A'C'O (或 B'OC' )形成一个直角三角形。
  3. OC'/OA' 等于 A'OC' 的余弦值。
  4. 如果我们将 OC'/OA' 的反余弦乘以2,我们最终会得到角度 A'OB'
  5. 如果您只想要 A'B' 的长度,事情变得更加简单。将 (OA' squared minus OC' squared)' 的平方根乘以2,您的长度为 A'B'
  6. 这有意义吗?