2
votes

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
First of all, welcome to Stackoverflow. You can encourage other members of the community to help you with your issue by providing a minimal and verifiable example. - jhoepken

2 Answers

1
votes

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
votes

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