Crate rxcv

source ·
Expand description

RxCV

RxCV provide Rust programming experience to OpenCV.

PlatformArchStatus
Linuxx86_640.1.0
Linuxaarch640.1.0
WindowsAllTBA
macOSAllTBA

Currently support opencv installed from apt.

Modules

ModuleStatus
core[WIP]0.1.0
imgproc[WIP]0.1.0
imgcodecs[WIP]0.1.0
videoioTBA
calib3dTBA
features2dTBA
objdetectTBA
dnnTBA
mlTBA
flannTBA
photoTBA
stichingTBA
gapiTBA

Get started

std::vector<uchar> data = /* Some binary */;
cv::Mat src = cv::imdecode(data, cv::IMREAD_COLOR), dst;

// Execution time error.
auto thresh = cv::threshold(src, dst, 0, 255, cv::THRESH_BINARY | cv::THRESH_OTSU);
use rxcv::{
    imgproc::{Threshold, ThresholdTypes},
    Mat,
};
let data:&[u8] = &[1, 2, 3, 4, 5, 6];
let src = Mat::<u8, 3>::decode(data).unwrap();
/**
Not implemented threshold on Mat::<u8, 3>
let (thresh, dst) = src.threshold(
        0,
        255,
        ThresholdTypes::THRESH_BINARY | ThresholdTypes::THRESH_OTSU
    );
*/
// Convert Color;
let src = src.cvt_color_bgr2gray().unwrap();
let (thresh, dst) = src.threshold(
        0,
        255,
        ThresholdTypes::THRESH_BINARY | ThresholdTypes::THRESH_OTSU
    ).unwrap();

Example

std::vector<uchar> data = /* Some binary */;
cv::Mat src = cv::imdecode(data);
use rxcv::Mat;
let data:&[u8] = &[1, 2, 3, 4, 5, 6];
let src = Mat::<u8, 3>::decode(data).unwrap();

License

This project is licensed under either of Apache License, Version 2.0 or MIT license at your option.

Re-exports

pub use crate::core::*;

Modules

OpenCV Core Module