This repository contains code for custom calibration pattern detection algorithms. The 4 relevant Python files are:
chessboard_detection.py
: Code for detecting chessboard calibration pattern, it contains the functionfind_chessboard_corners()
that emulatescv2.findChessboardCorners()
.circles_grid_detection.py
: Code for detecting symmetric circles grid calibration pattern, it contains the functionfind_circles_grid()
that emulatescv2.findCirclesGrid()
.common.py
: Common code used by bothchessboard_detection.py
andcircles_grid_detection.py
.utils.py
: Convenient functions that load and visualize images.
The files have the following import structure:
Both chessboard_detection.py
and circles_grid_detection.py
are runnable which will process the example calibration images:
# pip3 install -r requirements.txt
python3 chessboard_detection.py visualize
python3 circles_grid_detection.py visualize
Users can optionally append a visualize
flag, which will visualize the algorithm step-by-step.
More details can be found in report.pdf
.
The algorithms implemented are not robust and should only be used for academic purposes.