Expand description
Checkerboard marker target detector (checkerboard + 3 circles in the middle).
Pipeline overview:
- Detect a chessboard grid from ChESS corners (partial boards are allowed).
- Score circular markers per-cell in image space.
- Match circle candidates to the known layout and estimate the grid offset.
- Return typed marker-board corners with optional board alignment.
§Quickstart
use calib_targets_chessboard::ChessCorner;
use calib_targets_core::GrayImageView;
use calib_targets_marker::{
CellCoords, CirclePolarity, MarkerBoardDetector, MarkerBoardSpec, MarkerBoardParams,
MarkerCircleSpec,
};
let layout = MarkerBoardSpec::new(
6,
8,
[
MarkerCircleSpec::new(CellCoords { i: 2, j: 2 }, CirclePolarity::White),
MarkerCircleSpec::new(CellCoords { i: 3, j: 2 }, CirclePolarity::Black),
MarkerCircleSpec::new(CellCoords { i: 2, j: 3 }, CirclePolarity::White),
],
)
.with_cell_size(1.0);
let params = MarkerBoardParams::new(layout);
let detector = MarkerBoardDetector::new(params).expect("valid chessboard config");
let pixels = vec![0u8; 32 * 32];
let view = GrayImageView {
width: 32,
height: 32,
data: &pixels,
};
let corners: Vec<ChessCorner> = Vec::new();
let _ = detector.detect_from_image_and_corners(&view, &corners);Re-exports§
pub use diagnostics::MarkerBoardDiagnostics;
Modules§
- diagnostics
- Opt-in diagnostics surface for the marker-board detector.
Structs§
- Cell
Coords - Integer coordinates for a square cell in the grid (top-left corner indices).
- Cell
Offset - Integer translation between detected grid cells and board cells.
- Chess
Corner - Canonical 2D corner consumed by the chessboard detector.
- Circle
Candidate - One scored circular-marker candidate found in a chessboard cell.
- Circle
Match - Result of matching expected circles to detected candidates.
- Circle
Match Params - Circle matching settings.
- Circle
Score Params - Tuning knobs for per-cell circular-marker scoring.
- Gray
Image View - Borrowed view over an 8-bit grayscale image.
- Grid
Alignment - A grid alignment:
dst = transform(src) + translation. - Grid
Transform - Integer 2D grid transform (a 2×2 matrix) for aligning detected grids to a board model.
- Marker
Board Corner - A detected marker-board checkerboard corner.
- Marker
Board Detect Config - Configuration for marker board detection, loadable from JSON.
- Marker
Board Detect Report - Detection report for serialization.
- Marker
Board Detection Result - Marker-board detection result.
- Marker
Board Detector - Marker board detector: chessboard + three circle markers.
- Marker
Board Params - Parameters for marker-board detection.
- Marker
Board Spec - Fixed marker board layout: chessboard size plus 3 circle markers.
- Marker
Circle Spec - One expected marker circle on the board.
Enums§
- Circle
Polarity - Whether the circle marker prints as white-on-black or black-on-white.
Type Aliases§
- Marker
Board IoError - Error type for marker-board JSON config / report I/O.