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 模組命名(如 imgprochighgui),使用者可僅啟用所需部分。
  • C++ 運算子映射:將 C++ 運算子(如 +-*)轉換為對應的 Rust 函數(如 add()sub()mul())。
  • 整合支援:提供與 rgbhalf(f16)套件的整合。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案