Skip to content

GavinPHR/calibration-pattern-detection

Repository files navigation

Calibration Pattern Detection

Cambridge MLMI12 Computer Vision Coursework

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 function find_chessboard_corners() that emulates cv2.findChessboardCorners().
  • circles_grid_detection.py: Code for detecting symmetric circles grid calibration pattern, it contains the function find_circles_grid() that emulates cv2.findCirclesGrid().
  • common.py: Common code used by both chessboard_detection.py and circles_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.

Chessboard Detection Steps Visualization

0 - Example Calibration Image

1 - Harris Corner Detection

2 - Multiple Corner Filtering Steps

3 - Approximate Quadrilateral Hull

4 - Corners Ordering

Remarks

More details can be found in report.pdf.

The algorithms implemented are not robust and should only be used for academic purposes.

About

Computer vision coursework on calibration pattern detection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages