Need to remove Camera Lens Distortion

1.1k Views Asked by At

We have this camera, it is ELP 180 Degree Super Wide Angle Distortion Correction. We need to normalise image capture from this camera. But it is neither fish-eye or standard camera.

As far as I understand, it is barrel distortion. But if you notice straight lines are curved horizontally but vertical lines are not curved. The manufacturer of the camera says it is 'Distortion Corrected'. So let's assume they want to say vertical distortion is corrected but not horizontal.

Sample photo

We tried the following 2 ways to remove distortion but it is not perfect. Please help us to remove its distortion. Thanks a lot.


  1. We tried OpenCV Camera Calibration to get camera Intrinsic Parameters and Distortion Coefficient.

Intrinsic Parameters

[673.9683892, 0., 343.68638231]
[0., 676.08466459, 245.31865398]
[0., 0., 1.]

Distortion

[5.44787247e-02, 1.23043244e-01, -4.52559581e-04, 5.47011732e-03, -6.83110234e-01]

  1. Matlab Computer vision tool to get Intrinsic Parameters and Distortion Coefficient

Intrinsic Parameters

 [291.11314081, 0.0, 289.772432415],
 [0.0, 274.219315391, 223.73258747],
 [0., 0., 1.0]

Distortion

[-3.0108207175179114e-01, 1.0803633903579697e-01, 4.3487318865386296e-03, -5.9566348399883859e-04, -1.8867490263403317e-02]

Result

Original image:

This is Original Image

After Removing Distortion:

After Removing Distortion

2

There are 2 best solutions below

0
Francesco Callari On

To me it looks like there may be a prism (or a digital prism-equivalent remapping filter) "squeezing" the image horizontally, which has the effect of visually accentuating the barrel in the horizontal direction.

If I am right, I don't think the standard OpenCv Heikkila-Silven model can fit it. You'll need to fit 2 separate higher order polynomials in (x, y), one for the horizontal component of the distortion and one for the vertical one.

Look up "anamorphic lens distortion"

0
Dima On

Try using the fisheye camera model in the Camera Calibrator in matlab