[−][src]Trait opencv::video::BackgroundSubtractorKNN
K-nearest neighbours - based Background/Foreground Segmentation Algorithm.
The class implements the K-nearest neighbours background subtraction described in Zivkovic2006 . Very efficient if number of foreground pixels is low.
Required methods
fn as_raw_BackgroundSubtractorKNN(&self) -> *mut c_void
Provided methods
fn get_history(&self) -> Result<i32>
Returns the number of last frames that affect the background model
fn set_history(&mut self, history: i32) -> Result<()>
Sets the number of last frames that affect the background model
fn get_n_samples(&self) -> Result<i32>
Returns the number of data samples in the background model
fn set_n_samples(&mut self, _n_n: i32) -> Result<()>
Sets the number of data samples in the background model.
The model needs to be reinitalized to reserve memory.
fn get_dist2_threshold(&self) -> Result<f64>
Returns the threshold on the squared distance between the pixel and the sample
The threshold on the squared distance between the pixel and the sample to decide whether a pixel is close to a data sample.
fn set_dist2_threshold(&mut self, _dist2_threshold: f64) -> Result<()>
Sets the threshold on the squared distance
fn getk_nn_samples(&self) -> Result<i32>
Returns the number of neighbours, the k in the kNN.
K is the number of samples that need to be within dist2Threshold in order to decide that that pixel is matching the kNN background model.
fn setk_nn_samples(&mut self, _nk_nn: i32) -> Result<()>
Sets the k in the kNN. How many nearest neighbours need to match.
fn get_detect_shadows(&self) -> Result<bool>
Returns the shadow detection flag
If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for details.
fn set_detect_shadows(&mut self, detect_shadows: bool) -> Result<()>
Enables or disables shadow detection
fn get_shadow_value(&self) -> Result<i32>
Returns the shadow value
Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. Value 0 in the mask always means background, 255 means foreground.
fn set_shadow_value(&mut self, value: i32) -> Result<()>
Sets the shadow value
fn get_shadow_threshold(&self) -> Result<f64>
Returns the shadow threshold
A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel is more than twice darker then it is not shadow. See Prati, Mikic, Trivedi and Cucchiara, Detecting Moving Shadows..., IEEE PAMI,2003.
fn set_shadow_threshold(&mut self, threshold: f64) -> Result<()>
Sets the shadow threshold