Type conversions among famous Rust computer vision libraries. It supports the following crates:
Add cv-convert to Cargo.toml to import most conversions by default.
toml
[dependencies.cv-convert]
version = "0.9"
You can manually choose supported libraries to avoid bloating.
toml
version = "0.9"
default-features = false
features = ["opencv", "nalgebra"]
The minimum supported rustc is 1.51
You may use older versions of the crate (>=0.6) in order to use rustc versions that do not support const-generics.
opencv crate features
opencv-clang-runtime: Enable clang-runtime in opencv crate. Useful if you get libclang shared library is not loaded on this thread! panic.opencv-contrib: opencv-contrib has been dropped by the main opencv crate in favour of runtime module set detection. If you need the older version, 0.5.0 was the version that last supported opencv-0.51.0. opencv-4, opencv-34, opencv-32, opencv-buildtime-bindgen: These features have been dropped in opencv-0.53.0 in favour of runtime generation and detection. cv-convert-0.6 was the last version that supported opencv-0.52.0, which had these features.image crate feature
imagenalgebra crate feature
nalgebranalgebra 0.26, const-generic are used in this crate and are incompatible with previous versions of nalgebra. If you are pulling in previous versions of nalgebra, please use 0.6 or older.tch crate feature
tchThe crate provides FromCv, TryFromCv, IntoCv, TryIntoCv traits, which are similar to standard library's From and Into.
```rust use cv_convert::{FromCv, IntoCv, TryFromCv, TryIntoCv}; use nalgebra as na; use opencv as cv;
// FromCv
let cvpoint = cv::core::Point2d::new(1.0, 3.0);
let napoints = na::Point2::
// IntoCv
let cvpoint = cv::core::Point2d::new(1.0, 3.0);
let napoints: na::Point2
// TryFromCv let namat = na::DMatrix::fromvec(2, 3, vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0]); let cvmat = cv::core::Mat::tryfromcv(&namat)?;
// TryIntoCv let namat = na::DMatrix::fromvec(2, 3, vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0]); let cvmat: cv::core::Mat = namat.tryintocv()?; ```
MIT license. See LICENSE file.