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 is defined by its non-rectilinear projection. Smith's Modern Optical Engineering, 4th ed., gives 180° or more as the usual field-of-view convention, but cropped-circle designs cover less and stay fisheye. A wide-angle lens covers a large field, typically under 180°, and keeps a rectilinear mapping.

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. Commonlands stocks both as S-mount optics: low distortion M12 lenses for the first case, M12 fisheye lenses for the second.

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

A fisheye lens is defined by its non-rectilinear projection. Warren Smith's Modern Optical Engineering, 4th edition, gives 180° or more as the usual field-of-view convention, but that angle follows from the projection rather than defining it, and cropped-circle fisheye designs cover less while remaining fisheye. A wide angle lens provides a large field of view, typically under 180°, through a rectilinear mapping. A fisheye can act as a wide-angle lens when a smaller sensor crops its image circle. 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 measured against a stated mapping: it is how far image height departs from the projection the lens is specified to follow, and it grows with field angle. Local magnification changes as a consequence, which is why an ideal rectilinear lens can stretch edge detail and still measure zero distortion.

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 holds the radial scale constant instead, dr/dθ = f, so a degree of field angle always costs the same radial distance. Sampling is still not uniform in two dimensions: tangential scale and solid angle per pixel both change with field angle.

What are the main lens projection models?

There is no canonical set of four. The table below holds the mappings you meet most often: one rectilinear reference plus the fisheye mappings equidistant, equisolid, stereographic, and orthographic. Orthographic sits last because it compresses the outer field so hard near 90° that machine vision rarely uses it. 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 Constant radial scale, dr/dθ = f SLAM, visual odometry
Equisolid r = 2f·sin(θ/2) θ = 2·asin(r/2f) Preserves solid angle on the viewing sphere Sky coverage, hemispheric
Stereographic r = 2f·tan(θ/2) θ = 2·atan(r/2f) Preserves local shapes Object recognition
Orthographic r = f·sin(θ) θ = asin(r/f) Image height capped at f, heavy edge compression Hemispheric sky imaging
Confirm the model before calibrating

Confirm which projection the manufacturer specifies before choosing a calibration model. Fitting a pinhole (Brown-Conrady) model across a full fisheye field leaves geometric error that no coefficient tuning removes, because the rectilinear base projection runs to infinite image height at 90°. Over a cropped field well short of 90°, a high-order Brown-Conrady fit can approximate a fisheye, so state the field domain the fit is valid over.

The Kannala-Brandt polynomial can fit equidistant, equisolid, and stereographic lenses once its coefficients are solved from your own images. Residuals depend on target accuracy, pose and field coverage, corner extraction, focus, and model order, so judge a calibration by the RMS reprojection error you measure.

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 cropped pairing can pull a 180° fisheye down to 160° diagonal or less. A 1.9mm equidistant fisheye on a 4.5mm-diagonal sensor is one such pairing, delivering roughly 136° diagonal (θ = 2.25mm/1.9mm ≈ 1.18 rad, about 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 checkerboard images until the pattern has covered the whole 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 states each fisheye lens's nominal projection, but OpenCV takes no projection name. cv2.fisheye fits an odd polynomial in ray angle, so knowing the CIL819 is stereographic tells you what the fitted curve should look like. It is not a setting you select: the coefficients come from your own calibration images.

θ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 Shoot a checkerboard at a range of angles and distances so the pattern lands in every region of the frame, corners included. Around 15 to 30 images is a workable starting count, though pose diversity, incidence angle, and corner quality matter more than the number.
  2. Detect corners Use cv2.findChessboardCorners() to locate the checkerboard corners in each image.
  3. Refine corners Apply cv2.cornerSubPix() for sub-pixel corner localization.
  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 because the radial scale stays constant with field angle. 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.2mm lens (CIL034) Rectilinear 3.2mm 102° @ 8.0mm image circle Low-distortion metrology; IP67-sealed variant available
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

Every lens shown above ships from San Diego, CA; orders placed before 12 PM PT 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?

A fisheye lens is defined by its projection: a non-rectilinear mapping such as equidistant, equisolid-angle, or stereographic. Smith's Modern Optical Engineering gives 180° or more as the common convention, but that angle follows from the projection rather than defining it, and cropped-circle designs cover less while staying fisheye. A wide angle lens uses a rectilinear mapping over a large field, usually under 180°. A fisheye can act as a wide angle lens when a smaller sensor crops its image circle; a wide angle lens is not 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, which is what allows coverage past 180°. 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. Residual barrel in a rectilinear wide-angle lens and designed barrel in a fisheye both grow with field angle.

What are the different fisheye projection models?

The mappings you meet most often are one rectilinear reference plus four fisheye projections. Rectilinear (r = f·tan(θ)) preserves straight lines but cannot reach 180°, and it is not a fisheye projection. Equidistant (r = f·θ) holds the radial scale constant for angular measurement. Equisolid (r = 2f·sin(θ/2)) maps equal solid angles on the viewing sphere to equal image areas. Stereographic (r = 2f·tan(θ/2)) preserves local shapes and angles. Orthographic (r = f·sin(θ)) is the fourth fisheye mapping, rare in machine vision.

How do I calibrate a fisheye lens for computer vision?

Use OpenCV's cv2.fisheye namespace with the Kannala-Brandt distortion model. Capture checkerboard images at varied angles and distances until the pattern has covered the whole frame, corners included; 15 to 30 images is a common starting count, and coverage matters more than the number. Detect corners with cv2.findChessboardCorners(), then call cv2.fisheye.calibrate() for the intrinsics and coefficients k1 to k4. Judge the result by the RMS reprojection error it reports.

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. Commonlands is ISO 9001:2015 certified, and orders placed before 12 PM PT ship the same day from San Diego.