Expand description
ChArUco-related utilities.
Current focus:
- chessboard detection from ChESS corners,
- per-cell marker decoding (no full-image warp by default),
- alignment to a known board definition and corner ID assignment.
Marker dictionaries and decoding live in calib-targets-aruco.
§Quickstart
use calib_targets_aruco::builtins;
use calib_targets_charuco::{CharucoBoardSpec, CharucoDetector, CharucoParams, MarkerLayout};
use calib_targets_core::{Corner, GrayImageView};
let board = CharucoBoardSpec {
rows: 5,
cols: 7,
cell_size: 1.0,
marker_size_rel: 0.7,
dictionary: builtins::DICT_4X4_50,
marker_layout: MarkerLayout::OpenCvCharuco,
};
let params = CharucoParams::for_board(&board);
let detector = CharucoDetector::new(params)?;
let pixels = vec![0u8; 32 * 32];
let view = GrayImageView {
width: 32,
height: 32,
data: &pixels,
};
let corners: Vec<Corner> = Vec::new();
let _ = detector.detect(&view, &corners)?;Structs§
- Board
Match Diagnostics - Structured diagnostics produced by the board-level matcher. Serialised per-frame by the sweep runner for Python overlays.
- Cell
Best Match - Cell
Diag - Charuco
Alignment - Alignment result between detected markers and a board specification.
- Charuco
Board - Precomputed board mapping helpers.
- Charuco
Board Spec - Static ChArUco board specification.
- Charuco
Detect Config - Configuration for the ChArUco detection example.
- Charuco
Detect Diagnostics - Rich per-frame diagnostics captured by
CharucoDetector::detect_with_diagnostics. - Charuco
Detect Report - Charuco
Detection Result - Output of a ChArUco detection run.
- Charuco
Detector - Grid-first ChArUco detector.
- Charuco
Marker Corner Links - Collection of reported marker-corner links plus validation mode.
- Charuco
Params - Configuration for the ChArUco detector.
- Component
Diagnostics - Diag
Hypothesis - 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.
- Link
Violation - One validation error with context.
- Marker
Corner Link - One reported marker-corner link.
Enums§
- Board
Spec Load Error - Errors from loading a board specification via
load_board_spec_any. - Charuco
Board Error - Board specification validation errors.
- Charuco
Config Error - Charuco
Detect Error - Errors returned by the ChArUco detector.
- Component
Outcome - Link
Check Mode - How strictly to validate marker-to-corner links.
- Link
Violation Kind - Specific violation encountered while validating marker-corner links.
- Marker
Layout - Marker placement scheme for the board.
- Matcher
Diag Kind - Reject
Reason
Constants§
- GRID_
TRANSFORMS_ D4 - The 8 dihedral transforms
D4on the integer grid.
Functions§
- load_
board_ spec_ any - Load a
CharucoBoardSpecfrom JSON accepting either the flatboard.jsonlayout ({"ncols": ..., "dict": "..."}) or the nestedconfig.jsonlayout ({"target": {"ncols": ..., "dict": "..."}}). - resolve_
dictionary - Resolve a dictionary name tolerating both the prefixed (
DICT_4X4_1000) and un-prefixed (4X4_1000,APRILTAG_36h10) spellings used in different tooling JSON files. - validate_
marker_ corner_ links - Validate marker-corner links against the board definition.