Skip to main content

Crate calib_targets_charuco

Crate calib_targets_charuco 

Source
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§

BoardMatchDiagnostics
Structured diagnostics produced by the board-level matcher. Serialised per-frame by the sweep runner for Python overlays.
CellBestMatch
CellDiag
CharucoAlignment
Alignment result between detected markers and a board specification.
CharucoBoard
Precomputed board mapping helpers.
CharucoBoardSpec
Static ChArUco board specification.
CharucoDetectConfig
Configuration for the ChArUco detection example.
CharucoDetectDiagnostics
Rich per-frame diagnostics captured by CharucoDetector::detect_with_diagnostics.
CharucoDetectReport
CharucoDetectionResult
Output of a ChArUco detection run.
CharucoDetector
Grid-first ChArUco detector.
CharucoMarkerCornerLinks
Collection of reported marker-corner links plus validation mode.
CharucoParams
Configuration for the ChArUco detector.
ComponentDiagnostics
DiagHypothesis
GridAlignment
A grid alignment: dst = transform(src) + translation.
GridTransform
Integer 2D grid transform (a 2×2 matrix) for aligning detected grids to a board model.
LinkViolation
One validation error with context.
MarkerCornerLink
One reported marker-corner link.

Enums§

BoardSpecLoadError
Errors from loading a board specification via load_board_spec_any.
CharucoBoardError
Board specification validation errors.
CharucoConfigError
CharucoDetectError
Errors returned by the ChArUco detector.
ComponentOutcome
LinkCheckMode
How strictly to validate marker-to-corner links.
LinkViolationKind
Specific violation encountered while validating marker-corner links.
MarkerLayout
Marker placement scheme for the board.
MatcherDiagKind
RejectReason

Constants§

GRID_TRANSFORMS_D4
The 8 dihedral transforms D4 on the integer grid.

Functions§

load_board_spec_any
Load a CharucoBoardSpec from JSON accepting either the flat board.json layout ({"ncols": ..., "dict": "..."}) or the nested config.json layout ({"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.

Type Aliases§

CharucoIoError