opencv 0.14.0

Rust bindings for OpenCV
Documentation
use opencv::{
    core::{DataType, Mat, Point, Point2f, Scalar, Size, Vec2f},
    imgproc,
    types::VectorOfPoint,
};

#[test]
fn min_enclosing() {
    let mut pts = Mat::new_rows_cols_with_default(1, 2, Vec2f::typ(), Scalar::default()).unwrap();
    let points = pts.at_row_mut::<Vec2f>(0).unwrap();
    points[0].copy_from_slice(&[10., 10.]);
    points[1].copy_from_slice(&[20., 10.]);

    let mut center = Point2f::default();
    let mut radius = 0.;
    imgproc::min_enclosing_circle(&pts, &mut center, &mut radius).unwrap();
    assert_eq!(radius, 5.0001);
    assert_eq!(center, Point2f::new(15., 10.))
}

#[test]
fn ellipse() {
    let mut pts = VectorOfPoint::new();
    imgproc::ellipse_2_poly(Point::new(100, 100), Size::new(200, 200), 0, 45, 90, 10, &mut pts).unwrap();
    assert_eq!(6, pts.len());
    assert_eq!(Point::new(241, 241), *pts.get(0));
    assert_eq!(Point::new(100, 300), *pts.get(5));
}