Create Chess Board Aruco

  aruco, c++, calibration, camera-calibration, opencv

I do not understand the creation of the chees board aruco this is the method:

static Ptr<CharucoBoard> cv::aruco::CharucoBoard::create    (   int     squaresX,
int     squaresY,
float   squareLength,
float   markerLength,
const Ptr< Dictionary > &   dictionary 
  1. Number of chessboard squares in X direction.
  2. Number of chessboard squares in Y direction.
  3. Length of square side.
  4. Length of marker side.
  5. The dictionary of the markers.
  6. Ids of all the markers.

the first question I have to ask is if I have to choose the length of the squares and markers or do I have to choose according to something? this measure then do I have to check it when I print on sheet?

The dictionary does not understand there are several constants how do I choose the best?

Predefined markers dictionaries/sets Each dictionary indicates the number of bits and the number of markers contained.

and what does the description in the documentation mean?

for example between DICT_4X4_50 and DICT_6X6_1000 what do the bits used for the markers mean? do i need these bits to do some operations later to print the image or to show the image?

Source: Windows Questions C++