twistedfall/opencv-rust
Rust bindings for OpenCV
解決的問題
本專案提供廣泛使用的電腦視覺庫 OpenCV 的 Rust 綁定。讓開發者能在 Rust 程式語言中使用 OpenCV 的豐富影像處理與電腦視覺功能,彌補 OpenCV 的 C++ 實作與 Rust 生態系之間的差距。
工作原理
此套件使用 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)套件的整合。
相關
- 專案
- 專案
- 專案
- 專案
- 專案