diff --git a/simcontroller/src/main.rs b/simcontroller/src/main.rs index 725db36..86fc275 100644 --- a/simcontroller/src/main.rs +++ b/simcontroller/src/main.rs @@ -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::>(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.