Guides
Short, practical notes on getting a printed marker to behave the way the numbers say it should.
ArUco grid or ChArUco board?
A ChArUco board calibrates a camera more accurately than a grid of ArUco markers, because a chessboard corner can be located to sub-pixel accuracy. A grid is better when the target may be partly hidden.
Which ArUco dictionary should you use?
A 4x4 dictionary reads from further away. A 6x6 dictionary survives damage and holds more IDs. Compare bits, marker count and error correction for every OpenCV ArUco and AprilTag dictionary.
How big should an ArUco marker be?
Work out the printed size an ArUco marker needs for a given camera and distance. Includes the formula, a worked table, and the pixel counts OpenCV needs to decode a marker.
Printing ArUco markers at the right size
A marker printed at the wrong scale gives a pose that is wrong by the same factor, and nothing warns you. How to print at 100 percent, check the result, and mount the sheet.
Border bits, and why detectMarkers finds nothing
An OpenCV detector expects an ArUco marker to have a border one cell wide. Print a wider border without telling the detector and it finds no markers at all.
Board types
ChArUco calibration board generator
Generate a printable ChArUco calibration board as a vector PDF. Set the square and marker length in millimetres, pick a dictionary, and copy the OpenCV code that calibrates a camera with it.
ArUco grid board generator
Generate a printable ArUco GridBoard as a vector PDF. The marker length and the separation are exact, so the sheet matches cv2.aruco.GridBoard and the pose it returns is right.