[Physics] How to determine the field of view for a pinhole camera with given parameters

imagingopticsvision

I am reviewing some old material I learned years ago and am having trouble figuring this one out. Can somebody confirm that I have done my math correctly, and tell me how I can recover the field of view from these parameters?

I have a $3.6$(height) by $4.8$(width) mm sensor, which displays as $640\ by\ 480$ pixels. I take an image of some item that I want to be 50px large in my image. It is $10 m$ away, and $10 cm$ tall in real life.

I compute the size of a pixel on the sensor as $\frac{3.6}{640}\ by\ \frac{4.8}{480} mm$ to get $0.006\ by\ 0.01 mm$.

I compute the magnification by $\frac{image\_size}{actual\_size}$, so I compute that the image size of $50px$ with a pixel height of $0.006mm$ takes up $0.3 mm$ of the sensor. Thus, magnification is $\frac{0.3}{100} = 0.003 mm$.

Magnification can also be viewed as $m = \frac{f}{u – f}$, so $0.003 = \frac{f}{100 mm – f}$, which will give us $f = 0.299 mm$.

From here, I know that it's possible to calculate the field of view, but how can I do it? I imagine the equation will use the image sensor size and the focal length.

Thanks!

Best Answer

It's easy to check if your calculations are right from this (rather crude) drawing:

enter image description here

There you see that the size of an object is related to the size of the image according to $$h_o=h_i\frac{D}{f}$$ where $h_o$ and $h_i$ are the sizes of the object and image. $f$ is not a focal distance, but the distance from the pinhole to the sensor or film.

So, if you have a 10cm object at 10m from the camera, and you want that to be 0.5mm (50px width), you need to place the sensor 0.5mm*10m/10cm=5cm behind the pinhole. If you do that, the angle your camera will see is $\tan(\alpha)=h_\mathrm{CCD}/(2f)$. The field of view is defined as twice this angle ($\mathrm{FOV}=2\alpha$). With the above numbers, the vertical FOV is 4.1º and the horizontal FOV is 5.5º.

Related Question