✨ feat(main): 添加摄像头和彩色视频输出窗口, 同时支持灰度和RGB图像显示
This commit is contained in:
parent
478eaf29be
commit
3e12d0bd6d
31
src/main.rs
31
src/main.rs
|
@ -14,10 +14,14 @@ use rscam::{Camera, Config};
|
|||
fn main() {
|
||||
let mut camera_open = false;
|
||||
let app = App::default();
|
||||
let mut wind = Window::new(100, 100, 400, 300, "Hello from rust");
|
||||
let mut frame = Frame::default_fill();
|
||||
wind.end();
|
||||
wind.show();
|
||||
let mut camera_window = Window::new(100, 100, 400, 300, "Camera Video Output Window");
|
||||
let mut camera_frame = Frame::default_fill();
|
||||
camera_window.end();
|
||||
camera_window.show();
|
||||
let mut color_window = Window::new(100, 600, 400, 300, "Video Output Window");
|
||||
let mut color_frame = Frame::default_fill();
|
||||
color_window.end();
|
||||
color_window.show();
|
||||
// app.run().unwrap();
|
||||
// 打开摄像头设备
|
||||
let mut camera = Camera::new("/dev/video0").unwrap();
|
||||
|
@ -44,15 +48,20 @@ fn main() {
|
|||
Ok(data) => {
|
||||
let start = Instant::now();
|
||||
let img = image::load_from_memory(&data).unwrap();
|
||||
let rgb_data = img.to_luma8();
|
||||
let l_data = img.to_luma8();
|
||||
let rgb_data = img.to_rgb8();
|
||||
if w == 0 {
|
||||
w = rgb_data.width() as i32;
|
||||
h = rgb_data.height() as i32;
|
||||
w = l_data.width() as i32;
|
||||
h = l_data.height() as i32;
|
||||
}
|
||||
let fltk_image =
|
||||
RgbImage::new(&rgb_data.as_raw(), w, h, ColorDepth::L8).unwrap();
|
||||
frame.set_image(Some(fltk_image));
|
||||
frame.redraw();
|
||||
let fltk_l_image =
|
||||
RgbImage::new(&l_data.as_raw(), w, h, ColorDepth::L8).unwrap();
|
||||
let fltk_rgb_image =
|
||||
RgbImage::new(&rgb_data.as_raw(), w, h, ColorDepth::Rgb8).unwrap();
|
||||
camera_frame.set_image(Some(fltk_l_image));
|
||||
color_frame.set_image(Some(fltk_rgb_image));
|
||||
camera_frame.redraw();
|
||||
color_frame.redraw();
|
||||
let duration = start.elapsed();
|
||||
println!("Time elapsed in DrawImage is: {:?}", duration);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue