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.
We tried the following 2 ways to remove distortion but it is not perfect. Please help us to remove its distortion. Thanks a lot.
- 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]
- 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:
After Removing Distortion:



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"