mirror of
https://github.com/mii443/usls.git
synced 2025-08-22 15:45:41 +00:00
52 lines
1.3 KiB
Rust
52 lines
1.3 KiB
Rust
use usls::{DataLoader, Viewer};
|
|
|
|
#[derive(argh::FromArgs)]
|
|
/// Example
|
|
struct Args {
|
|
/// source
|
|
#[argh(option, default = "String::from(\"./assets\")")]
|
|
source: String,
|
|
// /// record video and save
|
|
// #[argh(option, default = "false")]
|
|
// save_video: bool,
|
|
}
|
|
|
|
fn main() -> anyhow::Result<()> {
|
|
let args: Args = argh::from_env();
|
|
tracing_subscriber::fmt()
|
|
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
|
|
.with_timer(tracing_subscriber::fmt::time::ChronoLocal::rfc_3339())
|
|
.init();
|
|
|
|
let dl = DataLoader::new(args.source.as_str())?.build()?;
|
|
let mut viewer = Viewer::default().with_window_scale(1.);
|
|
|
|
for images in &dl {
|
|
// check out window
|
|
if viewer.is_window_exist() && !viewer.is_window_open() {
|
|
break;
|
|
}
|
|
|
|
viewer.imshow(&images[0])?;
|
|
|
|
// check out key event
|
|
if let Some(key) = viewer.wait_key(1) {
|
|
if key == usls::Key::Escape {
|
|
break;
|
|
}
|
|
}
|
|
|
|
// image info
|
|
for image in &images {
|
|
println!("## {:?}", image);
|
|
}
|
|
|
|
// // write video, need video feature
|
|
// if args.save_video {
|
|
// viewer.write_video_frame(&images[0])?;
|
|
// }
|
|
}
|
|
|
|
Ok(())
|
|
}
|