| OpenCV 5.0.0alpha Open Source Computer Vision

Loading...
Searching...
No Matches
Public Member Functions | List of all members
cv::BackgroundSubtractorKNN Class Referenceabstract
Video Analysis » Motion Analysis

K-nearest neighbours - based Background/Foreground Segmentation Algorithm. More...

`#include <opencv2/video/background_segm.hpp>`

Collaboration diagram for cv::BackgroundSubtractorKNN:

## Public Member Functions
virtual bool | getDetectShadows () const =0
| Returns the shadow detection flag.
virtual double | getDist2Threshold () const =0
| Returns the threshold on the squared distance between the pixel and the sample.
virtual int | getHistory () const =0
| Returns the number of last frames that affect the background model.
virtual int | getkNNSamples () const =0
| Returns the number of neighbours, the k in the kNN.
virtual int | getNSamples () const =0
| Returns the number of data samples in the background model.
virtual double | getShadowThreshold () const =0
| Returns the shadow threshold.
virtual int | getShadowValue () const =0
| Returns the shadow value.
virtual void | setDetectShadows (bool detectShadows)=0
| Enables or disables shadow detection.
virtual void | setDist2Threshold (double _dist2Threshold)=0
| Sets the threshold on the squared distance.
virtual void | setHistory (int history)=0
| Sets the number of last frames that affect the background model.
virtual void | setkNNSamples (int _nkNN)=0
| Sets the k in the kNN. How many nearest neighbours need to match.
virtual void | setNSamples (int _nN)=0
| Sets the number of data samples in the background model.
virtual void | setShadowThreshold (double threshold)=0
| Sets the shadow threshold.
virtual void | setShadowValue (int value)=0
| Sets the shadow value.
Public Member Functions inherited from cv::BackgroundSubtractor
virtual void | apply (InputArray image, OutputArray fgmask, double learningRate=-1)=0
| Computes a foreground mask.
virtual void | getBackgroundImage (OutputArray backgroundImage) const =0
| Computes a background image.
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state.
virtual bool | empty () const
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
virtual String | getDefaultName () const
virtual void | read (const FileNode &fn)
| Reads algorithm parameters from a file storage.
virtual void | save (const String &filename) const
virtual void | write (FileStorage &fs) const
| Stores algorithm parameters in a file storage.
void | write (FileStorage &fs, const String &name) const

## Additional Inherited Members
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file.
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String.
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node.
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

K-nearest neighbours - based Background/Foreground Segmentation Algorithm.

The class implements the K-nearest neighbours background subtraction described in [325] . Very efficient if number of foreground pixels is low.

## Member Function Documentation

## ◆ getDetectShadows()

virtual bool cv::BackgroundSubtractorKNN::getDetectShadows | ( |  | ) | const
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.getDetectShadows( |  | ) -> | retval

Returns the shadow detection flag.

If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for details.

## ◆ getDist2Threshold()

virtual double cv::BackgroundSubtractorKNN::getDist2Threshold | ( |  | ) | const
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.getDist2Threshold( |  | ) -> | retval

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.

## ◆ getHistory()

virtual int cv::BackgroundSubtractorKNN::getHistory | ( |  | ) | const
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.getHistory( |  | ) -> | retval

Returns the number of last frames that affect the background model.

## ◆ getkNNSamples()

virtual int cv::BackgroundSubtractorKNN::getkNNSamples | ( |  | ) | const
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.getkNNSamples( |  | ) -> | retval

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.

## ◆ getNSamples()

virtual int cv::BackgroundSubtractorKNN::getNSamples | ( |  | ) | const
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.getNSamples( |  | ) -> | retval

Returns the number of data samples in the background model.

## ◆ getShadowThreshold()

virtual double cv::BackgroundSubtractorKNN::getShadowThreshold | ( |  | ) | const
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.getShadowThreshold( |  | ) -> | retval

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.

## ◆ getShadowValue()

virtual int cv::BackgroundSubtractorKNN::getShadowValue | ( |  | ) | const
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.getShadowValue( |  | ) -> | retval

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.

## ◆ setDetectShadows()

virtual void cv::BackgroundSubtractorKNN::setDetectShadows | ( | bool | detectShadows | ) |
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.setDetectShadows( | detectShadows | ) -> | None

Enables or disables shadow detection.

## ◆ setDist2Threshold()

virtual void cv::BackgroundSubtractorKNN::setDist2Threshold | ( | double | _dist2Threshold | ) |
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.setDist2Threshold( | _dist2Threshold | ) -> | None

Sets the threshold on the squared distance.

## ◆ setHistory()

virtual void cv::BackgroundSubtractorKNN::setHistory | ( | int | history | ) |
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.setHistory( | history | ) -> | None

Sets the number of last frames that affect the background model.

## ◆ setkNNSamples()

virtual void cv::BackgroundSubtractorKNN::setkNNSamples | ( | int | _nkNN | ) |
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.setkNNSamples( | _nkNN | ) -> | None

Sets the k in the kNN. How many nearest neighbours need to match.

## ◆ setNSamples()

virtual void cv::BackgroundSubtractorKNN::setNSamples | ( | int | _nN | ) |
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.setNSamples( | _nN | ) -> | None

Sets the number of data samples in the background model.

The model needs to be reinitalized to reserve memory.

## ◆ setShadowThreshold()

virtual void cv::BackgroundSubtractorKNN::setShadowThreshold | ( | double | threshold | ) |
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.setShadowThreshold( | threshold | ) -> | None

Sets the shadow threshold.

## ◆ setShadowValue()

virtual void cv::BackgroundSubtractorKNN::setShadowValue | ( | int | value | ) |
| pure virtual

Python:
| cv.BackgroundSubtractorKNN.setShadowValue( | value | ) -> | None

Sets the shadow value.

The documentation for this class was generated from the following file:

- opencv2/video/background_segm.hpp