1

I am trying to calculate the field of view of a camera from a given focal length and film width. I am using the following equation to do this.

FOV = math.degrees(2 * math.atan(filmWidth / (2 * focalLength)))

From reading online, this seems to be the correct way to calculate the value. It does not seem to be yielding the correct results though. Or at least not the results I am expecting.

The test data I have is as follows focalLength = 30.409 filmWidth = 1.089

expected FOV should be ~24.6

The formula above gives me 2.05164381552.

What am I missing here? Do I have something in radians when it should be degrees, or vise versa? Thanks for any help you can provide.

ollie dunn
  • 111
  • 3
  • I guess I don’t know what is the formula value and what is the measured value. You don't make that clear. – Lubin Sep 06 '12 at 21:38
  • Why do you think that the FOV should be 24.6? – Snowball Sep 06 '12 at 21:42
  • The more I look at this, the confuseder I get. This is a real lens, right? and you claim that the focal length is 1.089? That seems to be meters, right, since when I divide it by 30.409 I get approximately 36mm, the length of the rectangle of the image on standard 35mm film. What is 24.6? – Lubin Sep 06 '12 at 21:53

2 Answers2

4

Your formula is correct. Make sure that the units are the same for filmWidth and focalLength.

Comment: If your filmWidth given above is in inches, then converting it to $27.66$ mm yields a FOV of $48.9$ degrees.

robjohn
  • 345,667
  • I thought that that was 30.409 times the filmwidth. We need further details (¡ and units !) – Lubin Sep 06 '12 at 21:56
1

I don't think anything is wrong. The film is 1/30 of the focal length, which gives FOV 1/30 radian, which is 2 degrees. Why do you expect 24 degrees?

Ross Millikan
  • 374,822