# How do I calculate how high a camera needs to be to fit an object in the frame based on its field of view?

I'm doing a computer vision application related to snooker for my dissertation. In a section of my report, I’m talking about cameras and it would be good if I’m able to do the calculation stated above. For example, the camera I have (Logitech c920) has the following FOVs: 78 deg (diagonal) 70.42 deg (horizontal) and 43.3 deg (vertical). Its focal length is 3.67mm. Is there any calculation that can be done to find out how high the camera must be to fit a 12ft x 6ft snooker table in the frame?

Thanks :)

• Yes, but you'd need more information than presented - is the camera directly overhead, or on a tripod at one end of the table, etc. But, relatively simple trigonometry can be applied when all the parameters are known. – twalberg Apr 24 at 23:01
• I'm voting to close this question as off-topic because this machine vision calculation is unlikely to affect the actual production of a photograph, in which the photographer would simply choose a focal length and frame by zoom/feet if need-be – Hueco Apr 25 at 4:35
• @Hueco I believe it is on topic. It is a simple question about the placement of a camera for a specific kind of image – Stan Apr 25 at 5:56
• Hi DJLad97, Welcome to Photo.Stackexchange. We hope you enjoy your stay and sharing your knowledge and experience with us. – Stan Apr 25 at 5:57
• This looks like homework. – xiota Apr 26 at 17:53

Sure. Happy to oblige.

Using trigonometry, the distance can be calculated based on the tangent of the FOV half-angle. I used the diagonal of the sensor aspect ratio that will include the table (14.06' based on Pythagorean triangle proportions) as the triangle base.

First, you must fit the subject into the sensor's image field-of-view.
The subject is a 6' x 12' Snooker Table.

The image sensor image is given in angle-of-view 43.3° / 70.42° = 0.61 (Aspect ratio of 1: 1.64)

We know that we want to fit 12' into the sensor's Field of View.

0.61 = X / 12'

X = 0.61 x 12' = 7.32'

7.32' x 12' is the field size of the sensor when at the minimum height above the Snooker Table to fit.

The altitude can be determined by trigonometry using the TAN function for the triangle formed by the sensor image field diagonal.

Sensor diagonal = √ ((7.32')^2 + (12')^2) =
√ ((53.58) + (144)) =
√ (197.58) =
14.06'

14.06' / 2 = 7.03' is the opposite (base) leg of the triangle.

TANGENT Angle = Opposite leg / Adjacent leg (h)

0.81 = 7.03' / h

h = 8.68'

The values I used are approximate.

I'd say roughly 8'-8" above the table centre should do it.

Many thanx to comment from sweber regarding erroneous arithmetic

• There are two problems here: First, tan(39)=0.8=6.7'/h so h=6.7'/0.8. Second: since aspect ratio of the table is different to the sensor, using diagonal FOV is wrong. (imagine aligning two opposite corners of the table with those of the sensor - the other corners will be clipped) instead, use the long edge of the table and the horizontal FOV. – sweber Apr 25 at 7:41
• In general, when calculating working distance for arbitrary aspect ratios or even different shapes, you should calculate for both horizontal and vertical directions separately, as well as the diagonal. Then pick the largest (most distant) of the three results. You should be able to see the whole object from that distance. – relatively_random Apr 26 at 6:43
• Hi, Stan, thanks for this, exactly what I was looking for. I have another camera whose FOV I'd like to test (a GoPro, which has a number of FOV settings) and I'm just wondering how you calculated the 7.36' value for the opposite leg? (sorry if this is basic, very rusty on my geometry) Also, I'd be citing you in my report if that's ok with you? – DJLad97 Apr 26 at 15:16
• Better, but not yet correct. The opposite leg is from the center of the table to the center of one of the short edges. I get a height of 8.5'. See geogebra.org/3d/jtyavhc2 – sweber Apr 26 at 19:15