Page 1 of 1

Which chessboard for the calibration phase

Posted: Thu Aug 08, 2019 6:12 pm
by stereomaton
I try to replicate OpenCV tutorial ... cb6792bbed
In the 4th step, the script says "No chessboard could be found." for each image.

I tried several chess patterns with few big cases and more small ones, but it changed nothing.
I also tried to vary distance to the camera a bit but without success neither.
I have a little light reflection on some images, but lots of them are outside of the board or inexistent.

Here are some pairs of the last test. The pattern is pretty obvious to human eyes, but seems not detected by the machine.

Any idea of what can be wrong?

Re: Which chessboard for the calibration phase

Posted: Thu Aug 08, 2019 10:22 pm
by Realizator
Stereomaton, we use 6x9 chessboard, and image for printing is uploaded in both stereopi-tutorial and stereopi-fisheye-robot repos at Github. Here is a link to the image in a last repo: ... attern.png
I usually print it at A4 size.
Also you may find, that these 6x9 settings is used in our code.

As I see on your images, you use 15x10 pattern (internal corners counting). You may change settings in our code to use your board, but I'm not recommend to do it. The smaller chess size, the worse recognition quality. To avoid this I used a trick mentioned in our last article, when we do calibration at higher resolution, but use calibration results for lower resolution. This trick is implemented in stereopi-fisheye-robot repo only.

According to your pictures (without radial distortion) I can suggest, that you are using not fisheye cameras, but classic V1 or V2 cameras. So you can use code from stereopi-tutorial, and you can look at my calibration photos here: ... ter/scenes

p.s. To say the true fisheye calibration should work for non-fisheye cameras too. :-) This code is more fresh and not depends on external libraries, so it is easier to play with it.

Re: Which chessboard for the calibration phase

Posted: Sat Aug 10, 2019 6:23 pm
by stereomaton
Oops, I did not see this file.

This time I managed to capture pairs in which the script found the chessboard in half of them.
Unluckily the image was highly distorted (looked like a big barrel distortion, although I used the not-fisheye script of the tutorial) and highly cropped.
A second capture of pairs gave two thirds in which chessboard was found, but the optimizer found another (different but still) highly distorted result.
I have quite a bad luck with this process. I'll retry another day.