I have a 180° equisolid (equal-area) fisheye lens with a focal length of 8 mm. I want to crop images to a circle defined by an angular field of view from the zenith angle of the lens (i.e. the middle of the circle in the original image).

I have already found an equation which I think may be on the right lines:

R = 2ƒ sin(θ / 2)

Where θ is the angle (in radians) from zenith defining the circle to crop to (i.e. my given field of view), and ƒ is the focal length of the lens (i.e., 8 mm). R is the radius of the circle drawn by the field of view (I think this is the radius on the sensor plane?), in mm. The issue is I can't figure out how to relate R to a pixel length on my images so I can crop to a circle of that diameter.

I've already looked at these pages:

What is the relationship between field of view and focal length for fisheye?

Calculate angle/field of view from 2D image

  • Related (but not directly applicable since your question is about equisolid projection): Diagonal Angle of View given Horizontal or Vertical angles of view for equidistant lenses – scottbb Sep 11 '18 at 14:31
  • It would probably be more correct to say "angle of view". Although often used interchangeably (I've been guilty as well, until I 'saw the light' regarding this), "field of view" is normally used to describe a linear distance that appears in the image at a specific distance from the camera/lens. In other words, a 50mm lens in front of a FF sensor may have a diagonal AoV of 46°. That translates to a specific height and width of a target perpendicular to the optical axis of the lens at a specific number of feet in front of the camera. The FoV are the dimensions of that target that can be seen. – Michael C Sep 11 '18 at 18:23

You're almost there. You just need to know the pixel pitch of your imaging sensor (that's usually in µm). If you can't find the sensor's pixel pitch, then you can calculate it by dividing the sensor's width (or height) by the total number of the sensor's horizontal (or vertical) pixels.

If you don't know the sensor's exact size, but you do know its format (i.e., 1/2.3" as an example), be aware that sensor sizes in terms of fractions of an inch are nomenclature, not dimensional. You can find dimensions for all sorts of sensor sizes at Wikipedia.

So given your image-plane measurement R (in mm), then conversion to pixels is simply

Pixels = R * pixel pitch (in µm) / (1000 µm per mm)

  • Thanks very much for the confirmation. In the meantime I came to a similar conclusion, except I used the width of an image taken by the camera in pixels as my equivalent of 'pixel pitch'. Is this still valid? Pixel pitch for my sensor is apparently 5.95 µm, does this sound logical? – John Godlee Sep 12 '18 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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