calib-targets

Fast, robust calibration target detection in Rust: chessboard, ChArUco, ArUco/AprilTag dictionaries, and marker boards.
Highlights
- Shared
TargetDetectionoutput across detectors for consistent downstream processing. - End-to-end helpers (
calib_targets::detect) that run ChESS corner detection for you (featureimage, enabled by default). - Low-level detector crates are re-exported when you need custom pipelines.
Quickstart (chessboard)
use detect;
use ChessboardParams;
use ImageReader;
What you get back
All detectors produce a TargetDetection (returned directly for chessboards and embedded in higher-level result structs elsewhere). Each LabeledCorner includes pixel position, optional grid coordinates, optional logical id, optional target-space position, and a detector-specific score.
Supported targets
- Chessboard:
detect::detect_chessboardorchessboard::ChessboardDetector. - ChArUco:
detect::detect_charucoorcharuco::CharucoDetector. - Marker boards:
detect::detect_marker_boardormarker::MarkerBoardDetector. - ArUco/AprilTag dictionaries and decoding via
aruco.
Features
image(default): enablescalib_targets::detecthelpers that useimage::GrayImageandchess-corners.tracing: enables tracing output across the workspace crates.
Examples (repo)
Crate map
calib_targets::core– core types and homographies.calib_targets::chessboard– chessboard detection.calib_targets::aruco– ArUco/AprilTag dictionaries and decoding.calib_targets::charuco– ChArUco alignment and IDs.calib_targets::marker– checkerboard + circle marker boards.