For the complete documentation index, see llms.txt. This page is also available as Markdown.

Camera calibration script

This camera calibration procedure is only for RGB cameras.

Cyclops' VIO requires precise calibration of the camera intrinsics to offer optimal positioning performance. For this procedure, you will need:

  • A monitor screen

  • Camera to calibrate

  • Python3 with opencv/numpy

Run this script on your computer. This will detect your screen and display ChArUco markers:

Collect 40 images capturing the markers from varying angles (far, close, oblique, etc). You should see green annotations on the camera stream when the markers get detected by the calibration stream.

Run the calibration script:

python camera_calibrate.py --screen <select screen> --device <video device>

# for example:
# python camera_calibrate.py --screen 0 --device /dev/video0

Trace:

If you are using a wide angle or fisheye camera, pick the kb4 model. If you are using a low distortion pinhole camera (e.g., Raspberry Pi Camera module), select the pinhole model.

Expect low RMS (sub 1 px) from a successful calibration.

Once calibrated, input values (fx, fy, cx, cy, k1, k2, k3, k4) into Vozilla's camera calibration parameters.