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_charuco::{
builtins, CharucoBoardSpec, CharucoDetector, CharucoParams, GrayImageView,
MarkerLayout,
};
let board = CharucoBoardSpec::new(5, 7, 1.0, 0.7, builtins::DICT_4X4_50)
.with_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,
};
// `detect` runs the ChESS corner front-end from `params.chess` itself.
// Feed a corner cloud you already have to `detect_with_corners` instead.
let _ = detector.detect(&view)?;Re-exports§
pub use link_check::validate_marker_corner_links;pub use link_check::CharucoMarkerCornerLinks;pub use link_check::LinkCheckMode;pub use link_check::LinkViolation;pub use link_check::LinkViolationKind;pub use link_check::MarkerCornerLink;
Modules§
- builtins
- Embedded built-in dictionaries.
- diagnostics
- Opt-in diagnostics surface for the ChArUco detector.
- link_
check - Marker-to-corner linkage validation for ChArUco detections.
Structs§
- Charuco
Advanced Tuning - Advanced, unstable tuning knobs for the ChArUco detector.
- Charuco
Board - Precomputed board mapping helpers.
- Charuco
Board Spec - Static ChArUco board specification.
- Charuco
Corner - A labelled ChArUco inner corner.
- Charuco
Detection - Output of a ChArUco detection run.
- Charuco
Detector - Grid-first ChArUco detector.
- Charuco
Params - Configuration for the ChArUco detector.
- Chess
Corner - Canonical 2D corner consumed by the chessboard detector.
- Dictionary
- A fixed ArUco/AprilTag-style dictionary.
- Gray
Image View - Borrowed view over an 8-bit grayscale image.
- Grid
Transform - An affine integer lattice-coordinate transform:
destination = matrix * source + translation.
Enums§
- Board
Spec Load Error - Errors from loading a board specification via
load_board_spec_any. - Charuco
Board Error - Board specification validation errors.
- Charuco
Detect Error - Errors returned by the ChArUco detector.
- Marker
Layout - Marker placement scheme for the board.
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.
Type Aliases§
- Grid
Alignment - Semantic alias for a transform that maps detected grid coordinates into a board/model coordinate frame.