| Crates.io | calib-targets-marker |
| lib.rs | calib-targets-marker |
| version | 0.2.2 |
| created_at | 2025-12-28 10:10:13.475505+00 |
| updated_at | 2026-01-03 17:59:51.041576+00 |
| description | Checkerboard marker target detector (checkerboard + 3 central circles) |
| homepage | https://vitalyvorobyev.github.io/calib-targets-rs/ |
| repository | https://github.com/VitalyVorobyev/calib-targets-rs |
| max_upload_size | |
| id | 2008546 |
| size | 120,164 |

Checkerboard marker target detector (checkerboard + 3 central circles).
use calib_targets_core::{Corner, GrayImageView};
use calib_targets_marker::{
CellCoords, CirclePolarity, MarkerBoardDetector, MarkerBoardLayout, MarkerBoardParams,
MarkerCircleSpec,
};
fn main() {
let layout = MarkerBoardLayout {
rows: 6,
cols: 8,
cell_size: Some(1.0),
circles: [
MarkerCircleSpec {
cell: CellCoords { i: 2, j: 2 },
polarity: CirclePolarity::White,
},
MarkerCircleSpec {
cell: CellCoords { i: 3, j: 2 },
polarity: CirclePolarity::Black,
},
MarkerCircleSpec {
cell: CellCoords { i: 2, j: 3 },
polarity: CirclePolarity::White,
},
],
};
let params = MarkerBoardParams::new(layout);
let detector = MarkerBoardDetector::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_from_image_and_corners(&view, &corners);
}
cell_size controls target_position in the output; set it to your square size.Python bindings are provided via the workspace facade (calib_targets module).
See crates/calib-targets-py/README.md in the repo root for setup.
tracing: enables tracing output in the detector.