opencv 0.14.0

Rust bindings for OpenCV
Documentation
use std::path::PathBuf;

use opencv::{
    core::Mat,
    features2d::{Feature2D, ORB},
    imgcodecs,
    types::{PtrOfORB, VectorOfKeyPoint},
};
use opencv::core::Size;

#[test]
fn orb() {
    let blox_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/blox.jpg");
    let img = imgcodecs::imread(blox_path.to_str().unwrap(), imgcodecs::IMREAD_COLOR).unwrap();
    let mut orb: PtrOfORB = ORB::default().unwrap();
    let mut kp = VectorOfKeyPoint::new();
    let mut des = Mat::default();
    orb.detect_and_compute(&img, &Mat::default(), &mut kp, &mut des, false).unwrap();
    assert_eq!(290, kp.len());
    assert_eq!(Size::new(32, 290), des.size().unwrap());
}