fix: remove read cam when PlayLineDotted
This commit is contained in:
parent
dee7199b09
commit
550021a014
@ -11,7 +11,7 @@ mod point;
|
|||||||
mod qualibration;
|
mod qualibration;
|
||||||
mod utils;
|
mod utils;
|
||||||
|
|
||||||
use qualibration::{annalyse::adding_trackbar, Qualibration};
|
use qualibration::{annalyse::adding_trackbar, Qualibration, Sequence};
|
||||||
|
|
||||||
use conf::Conf;
|
use conf::Conf;
|
||||||
use log::{/*debug, warn, */ error, info};
|
use log::{/*debug, warn, */ error, info};
|
||||||
@ -112,8 +112,8 @@ fn run_all() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
|
|
||||||
qualibration.run_step()?;
|
qualibration.run_step()?;
|
||||||
|
|
||||||
if qualibration.capture_mode {
|
if qualibration.capture_mode && (qualibration.id != Some(Sequence::WaitSpace) || qualibration.id != Some(Sequence::PlayLineDotted)) {
|
||||||
let millis = std::time::Duration::from_millis(300); // TODO: find solution to know when change has been done
|
let millis = std::time::Duration::from_millis(400); // TODO: find solution to know when change has been done
|
||||||
std::thread::sleep(millis);
|
std::thread::sleep(millis);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -146,12 +146,12 @@ impl Qualibration {
|
|||||||
border_pt: vec![],
|
border_pt: vec![],
|
||||||
homography: Mat::default(),
|
homography: Mat::default(),
|
||||||
h_size: Size::default(),
|
h_size: Size::default(),
|
||||||
line_pos: vec![4095; 100],
|
line_pos: vec![4095; 34],
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn run_step(&mut self) -> Result<(), Box<dyn std::error::Error>> {
|
pub fn run_step(&mut self) -> Result<(), Box<dyn std::error::Error>> {
|
||||||
if self.capture_mode {
|
if self.capture_mode && self.id != Some(Sequence::PlayLineDotted) {
|
||||||
//println!("capture");
|
//println!("capture");
|
||||||
self.cam.read(&mut self.frame)?;
|
self.cam.read(&mut self.frame)?;
|
||||||
highgui::imshow("camera", &self.frame)?;
|
highgui::imshow("camera", &self.frame)?;
|
||||||
@ -258,15 +258,15 @@ impl Qualibration {
|
|||||||
for _ in 0..nb_all {
|
for _ in 0..nb_all {
|
||||||
pl.push(Point{x: 0., y: 0., color: black});
|
pl.push(Point{x: 0., y: 0., color: black});
|
||||||
}
|
}
|
||||||
let len = (self.line_pos.len() + nb_wait) as f32;
|
let len = (2*self.line_pos.len() + nb_wait) as f32;
|
||||||
for i in 0..nb_wait {
|
for i in 0..nb_wait {
|
||||||
let y = i as f32 * 4095. / len;
|
let y = i as f32 * 4095. / len;
|
||||||
pl.push(Point{x: 0., y, color: black});
|
pl.push(Point{x: 0., y, color: black});
|
||||||
}
|
}
|
||||||
for i in 0..(self.line_pos.len()) {
|
for i in 0..(self.line_pos.len() * 2) {
|
||||||
let y = (i + nb_wait) as f32 * 4095. / len;
|
let y = (i + nb_wait) as f32 * 4095. / len;
|
||||||
let c = if (i + nb_wait) % 2 == 0 {color} else {black};
|
let c = if (i + nb_wait) % 2 == 0 && i < nb_visible {color} else {black};
|
||||||
pl.push(Point{x: self.line_pos[i] as f32, y, color: c});
|
pl.push(Point{x: self.line_pos[i/2] as f32, y, color: c});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -340,7 +340,7 @@ pub fn trackbar_init_param(mem: &mut Qualibration, winname: &str) -> Result<()>
|
|||||||
named_window(winname, WINDOW_AUTOSIZE)?;
|
named_window(winname, WINDOW_AUTOSIZE)?;
|
||||||
highgui::move_window(winname, 20, 20)?;
|
highgui::move_window(winname, 20, 20)?;
|
||||||
let v: VecN<f64, 4> = VecN::new(0., 0., 0., 255.);
|
let v: VecN<f64, 4> = VecN::new(0., 0., 0., 255.);
|
||||||
let m = Mat::new_rows_cols_with_default(1, 512, CV_8UC3, v)?;
|
let m = Mat::new_rows_cols_with_default(1, 1024, CV_8UC3, v)?;
|
||||||
highgui::imshow(winname, &m)?;
|
highgui::imshow(winname, &m)?;
|
||||||
|
|
||||||
create_trackbar("nb_all", winname, Some(&mut mem.nb_all), 400, None)?;
|
create_trackbar("nb_all", winname, Some(&mut mem.nb_all), 400, None)?;
|
||||||
|
Loading…
Reference in New Issue
Block a user