twistedfall/opencv-rust
Rust bindings for OpenCV
解决的问题
该项目为广泛使用的计算机视觉库 OpenCV 提供了 Rust 绑定。它使开发者能够在 Rust 编程语言中使用 OpenCV 的丰富图像处理和计算机视觉功能,弥合了 OpenCV 的 C++ 实现与 Rust 生态系统之间的差距。
工作原理
该 crate 使用 libclang 解析 OpenCV 的 C++ 头文件,生成 C++ API 的 C 接口,然后将该 C 接口封装为 Rust 代码。为了降低用户的构建时间,生成的 Rust 代码直接提交到仓库中,而不是在每次用户构建时重新生成。它将 C++ 的 cv:: 命名空间映射为对应主要 OpenCV 模块的独立 Rust 模块(例如 opencv::core::Mat)。
适用人群
专为需要使用行业标准 OpenCV 库执行计算机视觉任务(如图像操作、目标检测或特征提取)的 Rust 开发者设计。
主要亮点
- 广泛的版本支持:支持 OpenCV 4.x 和 5.x,对 3.4 版本提供已弃用支持。
- 跨平台:支持 Linux、macOS 和 Windows。
- 模块化设计:功能按 OpenCV 模块命名(如
imgproc、highgui),用户可仅启用所需部分。 - C++ 运算符映射:将 C++ 运算符(如
+、-、*)转换为对应的 Rust 函数(如add()、sub()、mul())。 - 集成支持:提供与
rgb和half(f16)库的集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目