Heads up, the "next versions of OpenCV", that Juliusz Tarnowski was referring to in his answer, is there now. Yes, the method setLegacyPattern
has been added to the CharucoBoard
class, which allows to specify that the table was generated in an old-fashioned way. Moreover you will no longer get the bad estimation - instead cv2.interpolateCornersCharuco
will return retval=0 and empty arrays if a legacy board is tried to be detected and setLegacyPattern(True)
was not called on the board in the argument of cv2.interpolateCornersCharuco