VPI fisheye distortion failed


I try to apply a lens distortion on my camera (IMX219-200). I run the example from the VPI samples. With the samples pictures everything works fine. When I try it with some pictures from the camera the pictures get more distorted than before. (You can see an example below.)

Somebody knows what the problem could be?

The chessboard pattern is recognized correctly. I think the coefficients are the problem.

Best regards,

I am not sure but suppose VPI need some parameter tuning for it.


We test your image with VPI 11-fisheye example.

$ ./vpi_sample_11_fisheye -c 7,4 test.jpeg
Warning: checkerboard pattern not found in image test.jpeg
Error: OpenCV(4.1.1) /home/nvidia/host/build_opencv/nv_opencv/modules/calib3d/src/fisheye.cpp:713: error: (-215:Assertion failed) !objectPoints.empty() && !imagePoints.empty() && objectPoints.total() == imagePoints.total() in function 'calibrate'

The algorithm complains it cannot find any checkerboard pattern in your image.
A common reason is the image is too blur to detect a corner.

Do you have other testing image can share with us?


Sorry, my bad.
Here are other images. Now with another camera with an IR-cut filter.

They also get more distorted than the original images.
I also marked the vertexes.


Thanks for the data.
Could you also share the the size of your checkerboard with us?

→ Please measure the physical length of the box marked RED above.


The squares on the a4 paper are 3,9cmx3,9cm.

I already tried different sizes (2,7cmx2,7cm - 5,6cmx 5,6cm). But the paper size (A4) is the same everytime.

best regards


Since the image is relatively large, could you try it with bigger searching window?
For example, I can get a better result if setting the -s 1000.


This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.