1
\$\begingroup\$

I am having some trouble finding a standard way to calculate the horizontal and vertical field of view of an image based on a set of initial input parameters.

I do have values for the following parameters:

  • Horizontal Pixel Count: 1920
  • Vertical Pixel Count: 1080
  • Pixel Size (um): 3
  • Horizontal Dimension (mm)
  • Vertical Dimension (mm)
  • Diagonal Dimension (mm)
  • Focal length (mm)
  • F/#
  • Working Distance (mm)
  • Horizontal FOV (degrees)
  • Vertical FOV (degrees)
  • Diagonal FOV (degrees)

Edmund Scientific offered the following equation:

$$ f = \frac{h \times \mathrm{WD}}{\text{horizontal FOV}} $$

where \$h\$ is the horizontal sensor dimension, \$f\$ is the focal length of the lens, and \$\mathrm{WD}\$ is the working distance. The horizontal FOV is also in millimeters, for which I calculate.

My problem is that the equation above gives me a different value than the following equation:

$$ \text{hor. FOV [mm]} = \text{WD [mm]} \times 2 \times \tan \left({\text{hor. AOV [deg.]} \over 2}\right) $$

I'm looking to understand where my calculations may be going wrong and what a standard and accepted trig. equation would be to allow me to properly calculate the vertical and horizontal FOVs (in mm).

Solved: My problem in Excel was that when I was dividing by 2 in my =TAN(HFOV/2), the 2 was in radians and not degrees. Changing the formula to =TAN(HFOV/degrees(2)) solved the problem.

\$\endgroup\$
1
  • \$\begingroup\$ No need for trig, it's all about similar triangles. The smaller triangle is from the lens to the sensor, and the larger one is from the lens to the subject. \$\endgroup\$ Commented Sep 25, 2017 at 22:34

2 Answers 2

1
\$\begingroup\$

Answering what was asked, both of your formulas are correct, the issue must be confusing the units.

The first Edmund is the easiest. Just similar triangles. It converts to: \$ f\,/\,h = \text{WD }/\text{ HFoV}\$. So the mm units on the left cancel out, and the feet units on the right cancel out, and no units, and no trig, no need for half angle. Works just as is, rearrange at will.

Some unit cancellation in the second with trig, it being \$\text{HFoV }/\text{ WD} = 2\tan(\text{angle [deg.]}/2)\$.

\$\endgroup\$
3
  • \$\begingroup\$ Maybe the problem isn't units - the question doesn't specify how the FOV angle is calculated. \$\endgroup\$ Commented Sep 26, 2017 at 2:09
  • \$\begingroup\$ Thanks for your response. If I wanted to solve for the Vertical FOV (mm) using your trig. equation, is it just V FOV / WD = 2 tan (VFOV(deg) / 2)? \$\endgroup\$
    – Gary
    Commented Sep 26, 2017 at 12:38
  • \$\begingroup\$ Yes. The two formulas give the same answer, and can ignore units since they cancel out on both sides. Except Radians = Degrees x Pi / 180. There are several field of view calculators on line, check your agreement with them. \$\endgroup\$
    – WayneF
    Commented Sep 26, 2017 at 13:32
1
\$\begingroup\$

The formula I use in Excel

f = focal length d = format dimension (sensor height or width)

=((ATAN((d/2/f)))*180/PI())*2

Using the above for a 50mm lens mounted to a 35mm full frame measuring 24mm height by 36mm diagonal measure 43.27mm

The vertical angle of view is 27°

The horizontal angle of view is 39.6°

The diagonal angle of view is 46.8°

I use 1000 yards as the distance as to field of view, answer in feet.

=(TAN(d*PI()/180))*1000*3

The vertical distance @ 1000 yards is 1528 feet

The horizontal distance @ 1000 yards is 2482 feet

The diagonal distance @ 1000 yards is 3194 feet

Easy to covert feet to mm

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for your response! Is 24mm and 36mm your sensor width and height? Why do you multiply by 3 in your second equation? \$\endgroup\$
    – Gary
    Commented Sep 26, 2017 at 1:13
  • 1
    \$\begingroup\$ The sensor is a full frame 24mm height by 36mm length. You can use this equation for any other dimensions, just substitute. the equation delivers the answer in yards, X3 = feet. \$\endgroup\$ Commented Sep 26, 2017 at 1:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.