use doc_quad::core::buffer::DocBuffer;
use doc_quad::find_document;
use std::time::Instant;
fn main() {
env_logger::Builder::from_env(
env_logger::Env::default().default_filter_or("debug"),
)
.init();
let width = 800u32;
let height = 600u32;
let stride = 800u32;
let mut raw_pixels = vec![50u8; (width * height) as usize];
for y in 100u32..500 {
for x in 100u32..700 {
raw_pixels[(y * stride + x) as usize] = 200;
}
}
let buffer = DocBuffer::new(&raw_pixels, width, height, stride)
.expect("Buffer creation failed");
let start = Instant::now();
match find_document(&buffer) {
Ok(Some(quad)) => {
println!("[Demo] - Document found!");
println!("[Demo] - Area: {:.2}", quad.area);
for (i, pt) in quad.points.iter().enumerate() {
println!(" Point {}: x={:.1}, y={:.1}", i, pt.x, pt.y);
}
}
Ok(None) => println!("[Demo] - No document detected."),
Err(e) => eprintln!("[Demo] - Error: {}", e),
}
println!("[Demo] - Total latency: {}ms", start.elapsed().as_millis());
}