Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: RZ_A2M_Mbed_samples
BackgroundSubtractorKNN Class Reference
[Motion Analysis]
K-nearest neigbours - based Background/Foreground Segmentation Algorithm. More...
#include <background_segm.hpp>
Inherits cv::BackgroundSubtractor.
Public Member Functions | |
virtual CV_WRAP int | getHistory () const =0 |
Returns the number of last frames that affect the background model. | |
virtual CV_WRAP void | setHistory (int history)=0 |
Sets the number of last frames that affect the background model. | |
virtual CV_WRAP int | getNSamples () const =0 |
Returns the number of data samples in the background model. | |
virtual CV_WRAP void | setNSamples (int _nN)=0 |
Sets the number of data samples in the background model. | |
virtual CV_WRAP double | getDist2Threshold () const =0 |
Returns the threshold on the squared distance between the pixel and the sample. | |
virtual CV_WRAP void | setDist2Threshold (double _dist2Threshold)=0 |
Sets the threshold on the squared distance. | |
virtual CV_WRAP int | getkNNSamples () const =0 |
Returns the number of neighbours, the k in the kNN. | |
virtual CV_WRAP void | setkNNSamples (int _nkNN)=0 |
Sets the k in the kNN. | |
virtual CV_WRAP bool | getDetectShadows () const =0 |
Returns the shadow detection flag. | |
virtual CV_WRAP void | setDetectShadows (bool detectShadows)=0 |
Enables or disables shadow detection. | |
virtual CV_WRAP int | getShadowValue () const =0 |
Returns the shadow value. | |
virtual CV_WRAP void | setShadowValue (int value)=0 |
Sets the shadow value. | |
virtual CV_WRAP double | getShadowThreshold () const =0 |
Returns the shadow threshold. | |
virtual CV_WRAP void | setShadowThreshold (double threshold)=0 |
Sets the shadow threshold. | |
virtual CV_WRAP void | apply (InputArray image, OutputArray fgmask, double learningRate=-1)=0 |
Computes a foreground mask. | |
virtual CV_WRAP void | getBackgroundImage (OutputArray backgroundImage) const =0 |
Computes a background image. | |
virtual CV_WRAP void | clear () |
Clears the algorithm state. | |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage. | |
virtual void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage. | |
virtual bool | empty () const |
Returns true if the Algorithm is empty (e.g. | |
virtual CV_WRAP void | save (const String &filename) const |
Saves the algorithm to a file. | |
virtual CV_WRAP String | getDefaultName () const |
Returns the algorithm string identifier. | |
Static Public Member Functions | |
template<typename _Tp > | |
static Ptr< _Tp > | read (const FileNode &fn) |
Reads algorithm from the file node. | |
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. |
Detailed Description
K-nearest neigbours - based Background/Foreground Segmentation Algorithm.
The class implements the K-nearest neigbours background subtraction described in Zivkovic2006 . Very efficient if number of foreground pixels is low.
Definition at line 218 of file background_segm.hpp.
Member Function Documentation
virtual CV_WRAP void apply | ( | InputArray | image, |
OutputArray | fgmask, | ||
double | learningRate = -1 |
||
) | [pure virtual, inherited] |
Computes a foreground mask.
- Parameters:
-
image Next video frame. fgmask The output foreground mask as an 8-bit binary image. learningRate The value between 0 and 1 that indicates how fast the background model is learnt. Negative parameter value makes the algorithm to use some automatically chosen learning rate. 0 means that the background model is not updated at all, 1 means that the background model is completely reinitialized from the last frame.
virtual CV_WRAP void clear | ( | ) | [virtual, inherited] |
Clears the algorithm state.
Reimplemented in DescriptorMatcher, and FlannBasedMatcher.
virtual bool empty | ( | ) | const [virtual, inherited] |
virtual CV_WRAP void getBackgroundImage | ( | OutputArray | backgroundImage ) | const [pure virtual, inherited] |
Computes a background image.
- Parameters:
-
backgroundImage The output background image.
- Note:
- Sometimes the background image can be very blurry, as it contain the average background statistics.
virtual CV_WRAP String getDefaultName | ( | ) | const [virtual, inherited] |
Returns the algorithm string identifier.
This string is used as top level xml/yml node tag when the object is saved to a file or string.
virtual CV_WRAP bool getDetectShadows | ( | ) | const [pure virtual] |
Returns the shadow detection flag.
If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for details.
virtual CV_WRAP double getDist2Threshold | ( | ) | const [pure virtual] |
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.
virtual CV_WRAP int getHistory | ( | ) | const [pure virtual] |
Returns the number of last frames that affect the background model.
virtual CV_WRAP int getkNNSamples | ( | ) | const [pure virtual] |
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.
virtual CV_WRAP int getNSamples | ( | ) | const [pure virtual] |
Returns the number of data samples in the background model.
virtual CV_WRAP double getShadowThreshold | ( | ) | const [pure virtual] |
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 Cucchiarra, Detecting Moving Shadows...*, IEEE PAMI,2003.
virtual CV_WRAP int getShadowValue | ( | ) | const [pure virtual] |
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.
static Ptr<_Tp> load | ( | const String & | filename, |
const String & | objname = String() |
||
) | [static, inherited] |
Loads algorithm from the file.
- Parameters:
-
filename Name of the file to read. objname The optional name of the node to read (if empty, the first top-level node will be used)
This is static template method of Algorithm. It's usage is following (in the case of SVM):
Ptr<SVM> svm = Algorithm::load<SVM>("my_svm_model.xml");
In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn).
static Ptr<_Tp> loadFromString | ( | const String & | strModel, |
const String & | objname = String() |
||
) | [static, inherited] |
Loads algorithm from a String.
- Parameters:
-
strModel The string variable containing the model you want to load. objname The optional name of the node to read (if empty, the first top-level node will be used)
This is static template method of Algorithm. It's usage is following (in the case of SVM):
Ptr<SVM> svm = Algorithm::loadFromString<SVM>(myStringModel);
virtual void read | ( | const FileNode & | fn ) | [virtual, inherited] |
Reads algorithm parameters from a file storage.
Reimplemented in Feature2D, DescriptorMatcher, and FlannBasedMatcher.
Reads algorithm from the file node.
This is static template method of Algorithm. It's usage is following (in the case of SVM):
cv::FileStorage fsRead("example.xml", FileStorage::READ); Ptr<SVM> svm = Algorithm::read<SVM>(fsRead.root());
In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn) and also have static create() method without parameters (or with all the optional parameters)
Reimplemented in Feature2D, DescriptorMatcher, and FlannBasedMatcher.
virtual CV_WRAP void save | ( | const String & | filename ) | const [virtual, inherited] |
Saves the algorithm to a file.
In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
virtual CV_WRAP void setDetectShadows | ( | bool | detectShadows ) | [pure virtual] |
Enables or disables shadow detection.
virtual CV_WRAP void setDist2Threshold | ( | double | _dist2Threshold ) | [pure virtual] |
Sets the threshold on the squared distance.
virtual CV_WRAP void setHistory | ( | int | history ) | [pure virtual] |
Sets the number of last frames that affect the background model.
virtual CV_WRAP void setkNNSamples | ( | int | _nkNN ) | [pure virtual] |
Sets the k in the kNN.
How many nearest neigbours need to match.
virtual CV_WRAP void setNSamples | ( | int | _nN ) | [pure virtual] |
Sets the number of data samples in the background model.
The model needs to be reinitalized to reserve memory.
virtual CV_WRAP void setShadowThreshold | ( | double | threshold ) | [pure virtual] |
Sets the shadow threshold.
virtual CV_WRAP void setShadowValue | ( | int | value ) | [pure virtual] |
Sets the shadow value.
virtual void write | ( | FileStorage & | fs ) | const [virtual, inherited] |
Stores algorithm parameters in a file storage.
Reimplemented in Feature2D, DescriptorMatcher, and FlannBasedMatcher.
Generated on Tue Jul 12 2022 18:20:24 by
