calib-targets-charuco

Crates.iocalib-targets-charuco
lib.rscalib-targets-charuco
version0.2.2
created_at2025-12-28 10:09:58.111492+00
updated_at2026-01-03 17:59:48.067489+00
descriptionChArUco board detector built on top of calib-targets-core
homepagehttps://vitalyvorobyev.github.io/calib-targets-rs/
repositoryhttps://github.com/VitalyVorobyev/calib-targets-rs
max_upload_size
id2008545
size136,609
Vitaly Vorobyev (VitalyVorobyev)

documentation

https://vitalyvorobyev.github.io/calib-targets-rs/api

README

calib-targets-charuco

ChArUco detection overlay

ChArUco board detector built on top of calib-targets-core and calib-targets-aruco. ChArUco dictionaries and board layouts are fully compatible with OpenCV's aruco/charuco implementation.

Quickstart

use calib_targets_aruco::builtins;
use calib_targets_charuco::{CharucoBoardSpec, CharucoDetector, CharucoDetectorParams, MarkerLayout};
use calib_targets_core::{Corner, GrayImageView};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    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 = CharucoDetectorParams::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)?;
    Ok(())
}

Features

  • tracing: enables tracing output in the detection pipeline.

Python bindings

Python bindings are provided via the workspace facade (calib_targets module). See crates/calib-targets-py/README.md in the repo root for setup.

Links

Commit count: 0

cargo fmt