extern crate opencv;
use opencv::core;
use opencv::highgui;
use opencv::videoio;
fn run() -> opencv::Result<()> {
let window = "video capture";
highgui::named_window(window, 1)?;
#[cfg(feature = "opencv-32")]
let mut cam = videoio::VideoCapture::new(0)?; #[cfg(not(feature = "opencv-32"))]
let mut cam = videoio::VideoCapture::new_with_backend(0, videoio::CAP_ANY)?; let opened = videoio::VideoCapture::is_opened(&cam)?;
if !opened {
panic!("Unable to open default camera!");
}
loop {
let mut frame = core::Mat::default()?;
cam.read(&mut frame)?;
if frame.size()?.width > 0 {
highgui::imshow(window, &mut frame)?;
}
if highgui::wait_key(10)? > 0 {
break;
}
}
Ok(())
}
fn main() {
run().unwrap()
}