A collection of pure-Rust computer vision libraries providing algorithms for photogrammetry, image processing, and pattern recognition.
Rust CV is a mono-repo of pure-Rust computer vision libraries that provide algorithms for image processing, photogrammetry, and pattern recognition. It encapsulates capabilities similar to OpenCV, OpenMVG, and vSLAM frameworks, offering tools for tasks like feature extraction, camera calibration, and 3D reconstruction without relying on machine learning.
Rust developers and researchers working on computer vision projects, particularly those needing photogrammetry, visual SLAM, or image processing in embedded or performance-sensitive environments.
It provides a cohesive, safe, and performant set of computer vision APIs entirely in Rust, with `#[no_std]` support, avoiding external dependencies and offering modern algorithms for geometric vision tasks.
Rust CV mono-repo. Contains pure-Rust dependencies which attempt to encapsulate the capability of OpenCV, OpenMVG, and vSLAM frameworks in a cohesive set of APIs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implemented entirely in Rust, providing memory safety and performance benefits without relying on unsafe C/C++ code, as highlighted in the project's philosophy.
Supports `#[no_std]` environments, enabling use in embedded systems and resource-constrained applications, a key feature mentioned in the README.
Offers a wide range of algorithms for feature extraction, camera models, and geometric verification, making it capable for SfM and visual SLAM, as detailed in the Key Features.
Provides cohesive abstractions inspired by libraries like TheiaSfM, ensuring interoperability across different crates within the mono-repo, as stated in the README.
The README explicitly notes weaknesses in image processing domains, with several algorithms like normalization and advanced blur methods still marked as incomplete.
Focuses on statistical and geometric methods over machine learning, requiring integration with external Rust ML crates for modern AI-driven vision tasks.
Requires installation of specific system packages like Cmake and libxkbcommon on Ubuntu, and managing a mono-repo with multiple crates can be daunting for new users.
cv is an open-source alternative to the following products:
OpenMVG (Multiple View Geometry) is an open-source library for computer vision and structure-from-motion tasks, providing tools for 3D reconstruction from multiple images.
OpenCV is an open-source computer vision and machine learning library with extensive tools for image and video analysis.