🐛 fix(main): 修复摄像头打开错误处理,
在 `main` 函数中,添加了对摄像头打开错误的处理逻辑。如果摄像头打开失败,会输出错误信息并跳过后续的图像捕获和显示操作。
This commit is contained in:
parent
c928f2be91
commit
e5fc45fe2e
18
src/main.rs
18
src/main.rs
|
@ -7,9 +7,9 @@ use fltk::{
|
||||||
window::Window,
|
window::Window,
|
||||||
};
|
};
|
||||||
use rscam::{Camera, Config};
|
use rscam::{Camera, Config};
|
||||||
use std::io;
|
|
||||||
|
|
||||||
fn main() -> io::Result<()> {
|
fn main() {
|
||||||
|
let mut camera_open = false;
|
||||||
let app = App::default();
|
let app = App::default();
|
||||||
let mut wind = Window::new(100, 100, 400, 300, "Hello from rust");
|
let mut wind = Window::new(100, 100, 400, 300, "Hello from rust");
|
||||||
let mut frame = Frame::default_fill();
|
let mut frame = Frame::default_fill();
|
||||||
|
@ -20,15 +20,18 @@ fn main() -> io::Result<()> {
|
||||||
let mut camera = Camera::new("/dev/video0").unwrap();
|
let mut camera = Camera::new("/dev/video0").unwrap();
|
||||||
|
|
||||||
// 配置摄像头参数
|
// 配置摄像头参数
|
||||||
camera
|
match camera.start(&Config {
|
||||||
.start(&Config {
|
|
||||||
interval: (1, 30), // 设置帧率为 30fps
|
interval: (1, 30), // 设置帧率为 30fps
|
||||||
resolution: (640, 480), // 设置分辨率为 640x480
|
resolution: (640, 480), // 设置分辨率为 640x480
|
||||||
format: b"MJPG", // 设置图像格式为 MJPG
|
format: b"MJPG", // 设置图像格式为 MJPG
|
||||||
..Default::default()
|
..Default::default()
|
||||||
})
|
}) {
|
||||||
.unwrap();
|
Ok(_) => camera_open = true,
|
||||||
|
Err(e) => {
|
||||||
|
eprint!("Open Camera Error:{}", e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if camera_open {
|
||||||
loop {
|
loop {
|
||||||
// 捕获一帧图像
|
// 捕获一帧图像
|
||||||
match camera.capture() {
|
match camera.capture() {
|
||||||
|
@ -54,3 +57,4 @@ fn main() -> io::Result<()> {
|
||||||
app.wait();
|
app.wait();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue