From: Max Value Date: Tue, 4 Mar 2025 19:23:46 +0000 (+0000) Subject: Killing babies X-Git-Url: https://git.ozva.co.uk/?a=commitdiff_plain;h=refs%2Fheads%2Fproduction;p=rust_fft Killing babies --- diff --git a/build.rs b/build.rs index 771e13d..35e6a84 100644 --- a/build.rs +++ b/build.rs @@ -5,7 +5,7 @@ fn main() { cc::Build::new() .file("src/perspective.cpp") .cpp(true) - .include("/usr/share/include/opencv4/") + .include("/usr/include/opencv4/") .compile("perspective.a"); println!("cargo::rustc-flags=-lopencv_core -lopencv_highgui -lopencv_xfeatures2d -lopencv_calib3d -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_features2d"); diff --git a/src/main.rs b/src/main.rs index b2f0cb8..904af4f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -60,10 +60,11 @@ impl ImageArray { homography, camera_buffer: vec![0u8; IMAGE_AREA], - camera: Camera::new("/dev/video0").unwrap(), + camera: Camera::new("/dev/video2").unwrap(), chunks: SPECTOGRAM_AREA }; + array.camera.start(&Config { interval: (1, FPS as u32), resolution: (IMAGE_WIDTH as u32, IMAGE_HEIGHT as u32), @@ -82,7 +83,7 @@ impl ImageArray { fn calibrate (&mut self) { // rscam gives and empty image if its not prompted a couple times for _i in 0..10 { - self.camera_buffer = self.camera.capture().unwrap()[..].try_into().expect("Image is wrong size"); + self.camera_buffer = self.camera.capture().unwrap()[..].try_into().expect("Image is wrong size"); //delete assignment } // enter unsafe and get the homography array @@ -229,14 +230,18 @@ fn main () -> Result<(), Box> { let homography = [0f64; 9]; // homography is a 3x3 matrix of 64-bit floats let mut image_array = ImageArray::new(homography); + println!("registered image array"); + // create the debug window let debug_window = create_window("Debug", Default::default())?; + // create window for displaying images and display calibration image let display_window = create_window("Display", Default::default())?; - let calibration_image = ImageReader::open("calibration.jpg")?.decode()?; + let calibration_image = ImageReader::open("src/calibration.jpg")?.decode()?; display_window.set_image("Display", calibration_image)?; + // wait for the user to press a key before continuing for event in display_window.event_channel()? { if let event::WindowEvent::KeyboardInput(event) = event { @@ -246,11 +251,12 @@ fn main () -> Result<(), Box> { } } + // calibrate camera image_array.calibrate(); // open audio file - let mut reader = hound::WavReader::open("/home/will/Downloads/Adducci - Around the Horn.wav").unwrap(); + let mut reader = hound::WavReader::open("/home/will/Music/Adducci - Around the Horn.wav").unwrap(); let file_rate = reader.spec().sample_rate; // setup audio output and build output stream diff --git a/src/perspective.cpp b/src/perspective.cpp index 493a61d..b88b394 100644 --- a/src/perspective.cpp +++ b/src/perspective.cpp @@ -24,7 +24,7 @@ extern "C" { try { - Mat img1 = imread( samples::findFile("calibration.jpg")/*, IMREAD_GRAYSCALE */); + Mat img1 = imread( samples::findFile("src/calibration.jpg")/*, IMREAD_GRAYSCALE */); Mat img2(IMAGE_HEIGHT, IMAGE_WIDTH, CV_8UC3, camera_ptr); // detect keypoints and compute descriptors