#algorithm #detection #implemented #image #vision #width #height

checkerboard

使用 Rust 实现的棋盘检测算法

1 个不稳定版本

0.1.0 2019 年 11 月 23 日

#16 in #height

MIT 许可证

100KB
1K SLoC

checkerboard-rs

Checkerboard detection algorithms implemented in rust.

目前这个库仅公开了 [1, 2, 3] 中描述的算法的重实现

  1. Scaramuzza, D., Martinelli, A. and Siegwart, R.. "A Flexible Technique for Accurate Omnidirectional Camera Calibration and Structure from Motion", Proceedings of IEEE International Conference of Vision Systems (ICVS'06), New York, January 5-7, 2006.
  2. Scaramuzza, D., Martinelli, A. and Siegwart, R.. "A Toolbox for Easy Calibrating Omnidirectional Cameras", Proceedings to IEEE International Conference on Intelligent Robots and Systems (IROS 2006), Beijing China, October 7-15, 2006.
  3. Rufli, M., Scaramuzza, D., and Siegwart, R., Automatic Detection of Checkerboards on Blurred and Distorted Images,Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2008), Nice, France, September 2008.

API 仍然不稳定,可能会随着更多使用(由我或外部反馈)而发展。

入门

此库当前需要 OpenCV 3.2,并使用 opencv-rust 进行绑定。请参阅他们的仓库以了解如何设置 OpenCV 以构建 opencv-rust。

示例

use checkerboard_rs::CheckerboardSpecification;
use checkerboard_rs::rufli::detect_checkerboard;

let spec = CheckerboardSpecification {
    width: 22,
    height: 12,
};
let image = image::open(&"assets/reference_easy/checker2212.png")
    .unwrap()
    .to_rgb();

let quads =
    detect_checkerboard(&image, &spec).expect("Did not receive a valid checkerboard.");

版本控制

我们使用 SemVer 进行版本控制。有关可用版本,请参阅此仓库的 标签

许可证

本项目采用 MIT 许可证 - 请参阅 LICENSE.md 文件以获取详细信息。

依赖项

~22MB
~228K SLoC