Rust-OpenCV 图取与显示

关于安装 Rust-OpenCV 【请查看】,或者查看【crates安装方法】

一、读取本地图片并显示
extern crate opencv;
use opencv::imgcodecs::imread;
use opencv::prelude::MatTrait;
use opencv::highgui::{imshow, wait_key, destroy_all_windows};

fn main() {
    let imgpath = "C:\\Users\\xxx\\Desktop\\sss.png";
    let mat = imread(&imgpath,1).unwrap();

    if mat.empty().unwrap(){
        println!("img read error!")
    }else {
        imshow("show_img",&mat).expect("显示失败");
        wait_key(0).expect("等待失败");
        destroy_all_windows().expect("关闭窗口失败");
    }
}

可能会编译报错:(exit code: 0xc0000135, STATUS_DLL_NOT_FOUND)
复制此目录下C:\tools\opencv\build\x64\vc15\bin\opencv_world412.dll库文件至当前项目文件夹下即可。
在这里插入图片描述

一、读取摄像头并显示
use opencv::{core,highgui,prelude::*,videoio};


fn run() ->opencv::Result<()> {
    let window = "video capture";
    highgui::named_window(window,1)?;

    let mut cam = videoio::VideoCapture::new(0,videoio::CAP_ANY)?;
    let opened = videoio::VideoCapture::is_opened(&cam)?;

    if !opened{
        panic!("Unable to open default camera!");   // win10 在【设置】->【隐私】中打开相机的使用权限
    }
    loop{
        let mut frame = core::Mat::default()?;
        cam.read(&mut frame)?;
        if frame.size()?.width>0 {
            highgui::imshow(window,&mut frame)?;
        }
        let key = highgui::wait_key(10)?;
        if key>0 && key !=255{
            break;
        }
    }
    Ok(())
}

fn main(){
    run().unwrap()
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SongpingWang

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值