1
Fork 0

live cv preview

This commit is contained in:
Andy Killorin 2024-09-09 11:11:35 -04:00
parent 10840f2da2
commit 03beac2e16
Signed by: ank
GPG key ID: B6241CA3B552BCA4

View file

@ -1,5 +1,5 @@
use camera::Camera;
use opencv::{core::{VecN, CV_8UC4}, imgcodecs::ImreadModes, imgproc};
use opencv::{core::{VecN, CV_8UC4}, highgui, imgcodecs::ImreadModes, imgproc};
use webots::prelude::*;
use std::{f64::consts::TAU, time::Duration};
mod camera;
@ -11,6 +11,7 @@ struct MyRobot {
camera: Camera,
left_motor: Motor,
right_motor: Motor,
window: &'static str,
}
impl Robot for MyRobot {
@ -29,10 +30,14 @@ impl Robot for MyRobot {
left_motor.set_velocity(0.1 * MAX_SPEED);
right_motor.set_velocity(0.1 * MAX_SPEED);
let window = "processed";
//highgui::named_window(window, 1).unwrap();
Self {
camera,
left_motor,
right_motor,
window,
}
}
@ -43,7 +48,9 @@ impl Robot for MyRobot {
if let Ok(img) = self.camera.get_image() { // BGRA
let img = opencv::core::Mat::new_rows_cols_with_bytes::<VecN<u8,4>>(240, 320, &img).unwrap();
opencv::imgcodecs::imwrite_def("cam.png", &img).unwrap();
//opencv::imgcodecs::imwrite_def("cam.png", &img).unwrap();
highgui::imshow(self.window, &img).unwrap();
highgui::poll_key().unwrap();
}
// initialize motor speeds at 50% of MAX_SPEED.