Type conversions among famous Rust computer vision libraries. It supports the following crates:
This crate allows crate version selection in Cargo features.
For example, the feature nalgebra_0-30
enables nalgebra 0.30.x.
[dependencies.cv-convert]
version = 'x.y.z'
features = [
'image_0-23',
'opencv_0-62',
'tch_0-6',
'nalgebra_0-30',
'ndarray_0-15',
]
The full
feature enable all crates with up-to-date versions.
[dependencies.cv-convert]
version = 'x.y.z'
features = ['full']
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.
full
opencv_0-63
Enable the corresponding feature below if you get libclang shared library is not loaded on this thread!
panic.
opencv_0-62-clang-runtime
opencv_0-61-clang-runtime
image_0-23
ndarray_0-15
nalgebra_0-30
nalgebra_0-29
nalgebra_0-28
nalgebra_0-27
nalgebra_0-26
tch_0-6
The crate provides FromCv
, TryFromCv
, IntoCv
, TryIntoCv
traits, which are similar to standard library's From
and Into
.
use cv_convert::{FromCv, IntoCv, TryFromCv, TryIntoCv};
use nalgebra as na;
use opencv as cv;
// FromCv
let cv_point = cv::core::Point2d::new(1.0, 3.0);
let na_points = na::Point2::<f64>::from_cv(&cv_point);
// IntoCv
let cv_point = cv::core::Point2d::new(1.0, 3.0);
let na_points: na::Point2<f64> = cv_point.into_cv();
// TryFromCv
let na_mat = na::DMatrix::from_vec(2, 3, vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0]);
let cv_mat = cv::core::Mat::try_from_cv(&na_mat)?;
// TryIntoCv
let na_mat = na::DMatrix::from_vec(2, 3, vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0]);
let cv_mat: cv::core::Mat = na_mat.try_into_cv()?;
MIT license. See LICENSE file.