Crate ndarray_vision
source ·Expand description
This crate is a computer vision and image analysis crate built on ndarray
.
By using ndarray
, this project aims to make full use of other crates in
the ecosystem like ndarray_stats
. This should also allow users to easily
integrate other ndarray
crates with ndarray-vision
and avoid this crate
becoming a monolith by fulfilling every potential usecase in a rather large
field. Instead the main focus of this crate will be as follows:
- An
Image
type which makes use of Rust to ensure proper and safe use - Conversions between different colour models
- Encoding and decoding images
- Image processing intrinsics like convolution and a selection of common filters
- Common image enhancement algorithms
- Geometric image transformations
- Intrinsics required for feature detection and matching
- Camera Calibration
- Frequency domain image processing
This may seem like a lot but is still a lot less than OpenCV offers. Also,
where possible algorithms will be used from other crates in the ecosystem
when those operations aren’t Computer Vision specific. For example,
ndarray-stats
has histogram calculation.
This crate is a work in progress and as such most of these features aren’t yet present and those that are may not be stable. Although, there will be some effort to ensure things don’t break.
Modules
- The core of
ndarray-vision
contains theImage
type and colour models - Image enhancement intrinsics and algorithms
- Image formats - encoding and decoding images from bytes for saving and loading
- Operations relating to morphological image processing
- Image processing intrinsics and common filters/algorithms.
- Image transforms and warping