Machine Vision Optics Guide

Wide Angle vs Fisheye Lenses: Distortion, Projection Models, and Machine Vision Selection

The difference is the projection model, not distortion severity. This guide explains how fisheye and wide-angle lenses map the 3D world onto your image sensor, and how to pick the right projection for machine vision, robotics, and computer vision.

By Max Henkart, Commonlands · Updated June 2026 · 9 min read

Commonlands fisheye M12 lens with a domed front element mounted on a warehouse camera

A fisheye lens has a field of view of 180° or more; a wide-angle lens covers a large field but typically less than 180° (Smith, Modern Optical Engineering, 4th ed.).

The two differ by projection model, not by how much distortion slipped through. A rectilinear wide-angle maps rays as r = f·tan(θ) and preserves straight lines. A fisheye uses an equidistant, equisolid, or stereographic mapping instead, keeping coverage past 180° finite on the sensor. A fisheye can also act as a wide-angle lens when a smaller sensor crops its image circle.

Choose rectilinear when your algorithm reads geometry straight from pixel positions, as in measurement, inspection, or lane detection. Choose fisheye when one camera must cover more than 180° or the pipeline works from ray directions rather than pixel coordinates, as in SLAM and surround view.

What is the difference between a fisheye lens and a wide angle lens?

A fisheye lens is a lens with a field of view of 180° or more, the definition given in Warren Smith's Modern Optical Engineering, 4th edition. A wide angle lens provides a large field of view but typically less than 180°. A fisheye can act as a wide-angle lens when a smaller sensor crops its image circle, but a wide-angle lens is not necessarily a fisheye. Commonlands stocks both as M12 lenses for machine vision and robotics.

The deeper distinction is the projection. A rectilinear wide-angle lens is designed so straight lines in the scene stay straight in the image. A fisheye abandons that mapping on purpose and trades straight-line rendering for angular coverage that a rectilinear design cannot reach. The curved lines in a fisheye image are the projection working as designed, not a defect that escaped quality control.

Commonlands diagram of circular, full-frame, and cropped fisheye types by image circle and sensor coverage
Figure 1: the three fisheye fill factor categories, set by how the lens image circle compares to the sensor size. Detailed below.
Commonlands fisheye M12 lens beside a rectilinear wide-angle lens, comparing front-element profiles
In this pair the fisheye carries the more strongly curved front element, but front-element shape is only a hint. Confirm the projection and field of view on the datasheet.

How does barrel distortion affect field of view?

Barrel distortion increases field of view for a given focal length: a lens with more barrel (negative) distortion covers a wider field than a lens of the same effective focal length, and the smaller the field of view, the less apparent the distortion. Pincushion (positive) distortion works the other way, consuming the image circle faster.

For conventional lenses this is a third-order (Seidel) aberration. For fisheyes the departure from rectilinear is the intended projection, not an aberration to minimize. Either way, distortion is the change in local magnification with image height, and it grows with field angle.

How to read the numbers in this guide

θ is the ray half-angle from the optical axis, in radians inside every formula, while each quoted field of view is the full angle, 2θ. Every image circle is a diameter, so the image radius r is half of it.

Commonlands chart of image height versus field angle for the four lens projection models
Image height versus field angle for each projection model. Rectilinear approaches infinite image height at 90°, which is why it cannot reach a 180° field of view. Fisheye projections keep 90° and beyond at finite image heights.

The Commonlands chart shows how each projection maps field angle to radial distance. Rectilinear spends more image height per degree as the angle grows (dr/dθ = f·sec²(θ)), stretching edge content and capping the total field a finite sensor can hold. Equidistant keeps angular sampling uniform across the field, which is why tasks that need consistent feature tracking from center to edge favor it.

What are the four main lens projection models?

A fourth, less common mapping, orthographic (r = f·sin(θ)), compresses the outer field so hard near 90° that it rarely appears in machine vision. Commonlands specifies which projection each fisheye M12 lens uses, so you can match the calibration model before buying.

Projection Formula Inverse (solve for θ) Key property Best application
Rectilinear r = f·tan(θ) θ = atan(r/f) Preserves straight lines Architecture, measurement
Equidistant r = f·θ θ = r/f Linear angle-to-radius SLAM, visual odometry
Equisolid r = 2f·sin(θ/2) θ = 2·asin(r/2f) Preserves area ratios Sky coverage, hemispheric
Stereographic r = 2f·tan(θ/2) θ = 2·atan(r/2f) Preserves local shapes Object recognition
Confirm the model before calibrating

Confirm which projection the manufacturer specifies before choosing a calibration model. The mismatch that leaves residual geometric error no coefficient tuning can remove is applying a pinhole (Brown-Conrady) model to a fisheye. Among fisheye projections, the Kannala-Brandt polynomial represents equidistant, equisolid, and stereographic mappings. With good calibration data, it typically reaches sub-pixel residuals.

When does a fisheye act like a wide angle lens?

A fisheye acts like a wide-angle lens when the sensor is smaller than the lens image circle. Only the central portion of the projection reaches the sensor, so diagonal coverage narrows and apparent curvature drops. A full-coverage fisheye can fall to 160° diagonal or less. A 1.9mm equidistant fisheye on a 4.5mm-diagonal sensor delivers roughly 136° diagonal (θ = 2.25mm/1.9mm ≈ 67.8° half-angle).

Fisheye fill factor (distinct from pixel fill factor, the photosensitive fraction of a pixel) describes how the image circle relates to the sensor. There are three cases. A circular fisheye forms an image circle smaller than the sensor, so the full hemispheric image sits as a circle inside the frame. A full-frame fisheye matches the sensor diagonal, and a cropped fisheye pairs the lens with a smaller sensor, sampling only the central region.

To size a specific pairing, compare the sensor diagonal against the lens image circle and compute coverage with the field-of-view calculator, which accounts for distortion. Sensor format names such as 1/2.3" or 1/1.8" do not match actual millimeter dimensions, so verify the active-area diagonal on the image sensor reference rather than converting the fraction.

Why does lens distortion matter for computer vision?

Distortion changes the scale of objects across the field of view, both radially and tangentially, which deforms them. A CNN detector trained on one distortion profile loses accuracy behind a different one, because activations land in the wrong places. Train on data that carries your system's distortion profile, or undistort before inference at the cost of extra computation and a possible crop of the field.

Pei et al. ("Effects of Image Degradations to CNN-based Image Classification") show how degradations including distortion affect classification, while Li et al.'s ULSD work detects line segments directly on distorted imagery rather than undistorting first.

Effects of fisheye lens distortion on CNN-based image classification, showing object deformation across the field
Object deformation caused by barrel distortion affects CNN activations (Pei et al.).
Line segment detection affected by fisheye distortion in wide angle camera lenses
Distortion curves straight lines, requiring line detection methods that handle the native projection (Li et al., ULSD).

Because undistortion remaps and resamples edge content, some teams train detection directly on the native fisheye projection instead of undistorted crops. Which one wins depends on the pipeline, so validate it on your own data. Decide one thing before choosing the lens: does the algorithm work on the native projection, or does it need undistorted frames? Commonlands can supply per-lens distortion data to support that call.

How do I calibrate a fisheye lens for computer vision?

Use OpenCV's cv2.fisheye namespace, which implements the Kannala-Brandt distortion model. Capture 15-30 checkerboard images across the frame, detect and refine corners, then call cv2.fisheye.calibrate() to solve for the camera matrix K and coefficients k1 through k4. The same coefficients drive undistortion and 3D reconstruction. Commonlands specifies each fisheye lens's projection, so the CIL819 (stereographic) maps to the right calibration model from the start.

θd = θ · (1 + k1θ² + k2θ⁴ + k3θ⁶ + k4θ⁸) Kannala-Brandt distortion model. The distorted angle θd relates to the undistorted angle θ through a polynomial with four coefficients, capturing radial distortion for wide-angle and fisheye lenses in machine vision.
  1. Capture calibration images Take 15-30 images of a checkerboard pattern at various angles and distances, ensuring the pattern appears in different regions of the frame, including corners.
  2. Detect corners Use cv2.findChessboardCorners() to locate the checkerboard corners in each image.
  3. Refine corners Apply cv2.cornerSubPix() for sub-pixel accuracy.
  4. Calibrate Call cv2.fisheye.calibrate() with the object points and image points to obtain the camera matrix K and distortion coefficients D.
  5. Undistort Use cv2.fisheye.undistortImage() or cv2.fisheye.initUndistortRectifyMap() for real-time correction.
  6. Check the result cv2.fisheye.calibrate() returns the RMS reprojection error in pixels. Compare it against your pixel pitch and accuracy target rather than a fixed threshold, and re-shoot if the frame edges are sparsely covered, since the k3 and k4 terms are driven mostly by the outer field.

Choosing Between Fisheye and Wide Angle Lenses by Application

Mobile robotics, overhead surveillance, and automotive surround view benefit most from fisheye lenses because a single camera covers 180° or more, and low-F/# fisheyes hold up in indoor light. Dimensional measurement, inspection, and lane detection favor rectilinear wide-angle optics. All three read geometry directly from pixel positions. SLAM pipelines generally prefer equidistant fisheyes for their uniform angular resolution. Commonlands stocks M12 lenses in both projection families.

For SLAM, wider coverage shrinks feature-tracking dead zones during rotation and adds loop closures. ORB-SLAM3 and VINS-Fusion support fisheye models natively, so the calibration cost is lower than it once was. See lenses for robotics for platform picks.

Top Fisheye and Wide Angle M12 Lens Picks

Rank Lens (SKU) Projection EFL Max FoV (published) Best for
Fisheye picks (equidistant and stereographic, 160° and up)
1 Small 1.9mm stereographic lens (CIL819) Stereographic fisheye 1.9mm 160° Shape-preserving wide coverage in a compact barrel
Rectilinear wide-angle picks (straight lines preserved, under 180°)
2 Low distortion 2.7mm lens (CIL027) Rectilinear 2.7mm 100° @ 6.3mm image circle Straight-line detection and measurement on 8MP sensors
3 Low distortion 3.25mm lens (CIL034) Rectilinear 3.25mm 102° @ 8.0mm image circle Low-distortion metrology, IP67-sealed variant for outdoor use
Tiny M12 Fisheye Lens

200°@2.9mm Fisheye M12 Lens

$49.00

Download .STPView Product
Mini M12 Fisheye Lens for Board Mount Cameras

226°@3.9mm Fisheye M12 Lens

$49.00

Download .STPView Product
Fisheye Lens for 1/2.3" sensor

195°@4.7mm Fisheye M12 Lens

$59.00

Download .STPView Product
IR Corrected Day Night Fisheye Lens S-Mount

186°@5.2mm IR Corrected Fisheye M12 Lens

$59.00

Download .STPView Product

Browse Fisheye

Procurement note

All three lenses ship from San Diego, CA; orders placed before 12 PM PST ship the same day. Commonlands is ISO 9001:2015 certified and lenses are RoHS compliant. Datasheets with projection and distortion curves are on each product page.

Commonlands fisheye M12 lens imaging a straight-line grid that bows outward with barrel curvature
Fisheye projection trades straight lines for an ultra-wide field.

Frequently asked questions

Commonlands stocks both rectilinear wide-angle and fisheye M12 lenses. These answers separate the projection models behind them.

What is the difference between a fisheye lens and a wide angle lens?

According to Smith's Modern Optical Engineering, a fisheye lens has a field of view of 180° or more. A wide angle lens provides a large field of view but less than 180°. A fisheye lens can act as a wide angle lens when paired with a smaller sensor that crops the image circle, but a wide angle lens is not necessarily a fisheye.

Is a fisheye lens just a wide-angle lens with more distortion?

No. A fisheye is a different projection design, not a wide-angle lens pushed past its limits. Rectilinear lenses actively correct barrel distortion. Fisheye lenses intentionally use a non-rectilinear mapping to achieve coverage of 180° or more. The curved-line rendering in a fisheye image is a geometric consequence of the projection, not a manufacturing defect.

What is barrel distortion in camera lenses?

Barrel distortion is where magnification decreases with distance from the optical axis, causing straight lines to curve outward like a barrel. For conventional lenses this is classified as a third-order (Seidel) transverse aberration. In fisheye lenses the curvature is the intended projection mapping, far beyond the third-order regime, not an aberration. It is present in fisheye lenses and most wide-angle lenses, and increases with field angle.

What are the different fisheye projection models?

The four main lens projection models are one rectilinear reference mapping plus three fisheye mappings. Rectilinear (r = f·tan(θ)) preserves straight lines but cannot reach 180° and is not a fisheye projection. Equidistant (r = f·θ) provides linear angle-to-radius mapping ideal for angular measurement. Equisolid or equal-area (r = 2f·sin(θ/2)) preserves area ratios, and stereographic (r = 2f·tan(θ/2)) preserves local shapes and angles.

How do I calibrate a fisheye lens for computer vision?

Use OpenCV's cv2.fisheye namespace with the Kannala-Brandt distortion model. Capture 15-30 checkerboard images at various angles, detect corners with cv2.findChessboardCorners(), then call cv2.fisheye.calibrate() to obtain intrinsic parameters and distortion coefficients (k1-k4). These coefficients drive undistortion and 3D reconstruction. Check the reported reprojection error to confirm calibration quality.

Need help choosing a projection model?

Commonlands optical engineers in the US can help you match a projection model to your algorithm, verify image-circle coverage on your sensor, and pull calibration-ready distortion data. ISO 9001:2015 certified. Orders placed before 12 PM PST ship the same day from San Diego.