Fisheye lenses are popular for capturing wide fields of view, often ranging from 120 to 180 degrees, making them ideal for applications like image-based rendering, single view metrology, 3D reconstruction, and robot navigation. However, these lenses introduce significant distortions, causing objects to appear curved, especially at the edges of the image.
Our project presents the "Midpoint Circle Algorithm for Real-Time Fish-Eye Distortion Rectification," a novel approach to correcting fisheye distortion. This technique uses the Midpoint Circle Algorithm (MCA) to efficiently compute pixel locations, offering a streamlined rectification process suitable for embedded camera systems. Unlike traditional methods that rely on flat checkerboards and complex calculations, our approach provides real-time correction without extensive preprocessing.
Additionally, we propose the hemi-cylindrical unwrapping algorithm to address the common issue of edge distortion and data loss in corrected images. This algorithm maintains the visual integrity of the original fisheye images, making them more agreeable for human viewing while preserving essential information.
The Midpoint Circle Algorithm (MCA) is a technique traditionally used in computer graphics for circle rasterization. For fisheye image correction, MCA involves the following steps:
Identify the Distorted Region: The distortion center is typically the image center.
Circle Fitting: Fit a circle to the edge points of the fisheye pattern using a least squares method.
Calculate Circle Parameters: Determine the circle's center coordinates (a, b) and radius r.
Remap Pixels: Map distorted radial coordinates to undistorted ones, interpolating pixel values where necessary.
Output the Corrected Image: Generate the undistorted image.
This method offers a straightforward correction process ideal for embedded systems.
The Hemi-Cylinder Unwrapping Algorithm uses an equidistant projection model to correct fisheye distortion. Key steps include:
Identify Vanishing Points: Use planar checkerboard configurations to find where 3D parallel lines converge in the distorted image.
Determine Distortion Epicenter: Find the intersection of fitted circles to establish the epicenter.
Establish Projection Mapping: Apply the equidistant projection model to map points between the fisheye and hemi-cylindrical planes.
Map Unwrapped Plane: Align the unwrapped image plane with the hemi-cylindrical plane.
Construct Lookup Table: Facilitate the mapping process with a lookup table.
This method maintains horizontal field of view and is useful for panoramic surveillance.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Github Repository link :Â