Rust调用OpenCV
Rust图像处理

今天遇到一篇介绍Rust下使用OpenCV的文章,受益匪浅,推荐阅读。地址如下:
Rust and OpenCV
We all know why Rust is so great. However, it is a little bit too new and shiny compared to the old giants such as C/C++ and we so often…

在Rust下使用OpenCV大概分以下几步:
- 安装OpenCV
- 在Rust项目中添加OpenCV依赖
- 在代码中
use opencv
下边这段代码在Rust中使用OpenCV调用了摄像头。
use opencv::{highgui, prelude::*, videoio};
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
highgui::named_window("window", highgui::WINDOW_AUTOSIZE)?;
let mut cam = videoio::VideoCapture::new(0, videoio::CAP_ANY)?;
let mut frame = Mat::default();
loop {
cam.read(&mut frame)?;
highgui::imshow("window", &frame)?;
let key = highgui::wait_key(1)?;
if key == 27 {
break;
}
}
Ok(())
}
这里的OpenCV并非官方开发的Rust语言版本,而是Rust社区开发的对C++ API的binding。所以,编译后的程序本质上依旧是在使用C++开发的图像处理模块。如果你有C++下使用OpenCV的经验,应该还是比较好上手的。
另外如果你感兴趣,它的crate地址在这里:
Comments ()