1) Someone told me that the grid number of each row/column should be ODD, is it right? Why I shouldn't use an even number of corners?
2) Which is better, symmetric/Asymmetric pattern?
The problem lies within the calibration pattern properties itself. Since the algorithm looks for corners, it can happen (it does not always do this), that it matches the wrong corners, because for the algorithm there is no way of telling that the upper left corner is actually not the bottom right corner. This happens due to the symetry of an even number of rows or cols.
So basically
- If you just want to use even number of rows and cols --> it will work in 80% of the cases, and you are fine.
- If your calibration just seems poor and completely off, then the software did something tricky, by mismatching the calibration patterns in both images (which can be seen by printing the matches), then go for an uneven number of rows and cols.
The advantage of having uneven rows or cols, is that your pattern is not repeated and thus, the top left corner will always be the top left corner due to the position of the surrounding corners.
Have you searched on the docs?