[][src]Trait opencv::video::BackgroundSubtractorKNN

pub trait BackgroundSubtractorKNN: BackgroundSubtractor {
    fn as_raw_BackgroundSubtractorKNN(&self) -> *mut c_void;

    fn get_history(&self) -> Result<i32> { ... }
fn set_history(&mut self, history: i32) -> Result<()> { ... }
fn get_n_samples(&self) -> Result<i32> { ... }
fn set_n_samples(&mut self, _n_n: i32) -> Result<()> { ... }
fn get_dist2_threshold(&self) -> Result<f64> { ... }
fn set_dist2_threshold(&mut self, _dist2_threshold: f64) -> Result<()> { ... }
fn getk_nn_samples(&self) -> Result<i32> { ... }
fn setk_nn_samples(&mut self, _nk_nn: i32) -> Result<()> { ... }
fn get_detect_shadows(&self) -> Result<bool> { ... }
fn set_detect_shadows(&mut self, detect_shadows: bool) -> Result<()> { ... }
fn get_shadow_value(&self) -> Result<i32> { ... }
fn set_shadow_value(&mut self, value: i32) -> Result<()> { ... }
fn get_shadow_threshold(&self) -> Result<f64> { ... }
fn set_shadow_threshold(&mut self, threshold: f64) -> Result<()> { ... } }

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

Loading content...

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

Loading content...

Implementors

Loading content...