K-nearest neighbours - based Background/Foreground Segmentation Algorithm. More...
#include <opencv2/video/background_segm.hpp>
Public Member Functions | |
virtual void | apply (InputArray image, OutputArray fgmask, double learningRate=-1)=0 |
Computes a foreground mask. More... | |
virtual void | clear () |
Clears the algorithm state. More... | |
virtual bool | empty () const |
Returns true if the Algorithm is empty (e.g. More... | |
virtual void | getBackgroundImage (OutputArray backgroundImage) const =0 |
Computes a background image. More... | |
virtual String | getDefaultName () const |
Returns the algorithm string identifier. More... | |
virtual bool | getDetectShadows () const =0 |
Returns the shadow detection flag. More... | |
virtual double | getDist2Threshold () const =0 |
Returns the threshold on the squared distance between the pixel and the sample. More... | |
virtual int | getHistory () const =0 |
Returns the number of last frames that affect the background model. More... | |
virtual int | getkNNSamples () const =0 |
Returns the number of neighbours, the k in the kNN. More... | |
virtual int | getNSamples () const =0 |
Returns the number of data samples in the background model. More... | |
virtual double | getShadowThreshold () const =0 |
Returns the shadow threshold. More... | |
virtual int | getShadowValue () const =0 |
Returns the shadow value. More... | |
virtual void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage. More... | |
virtual void | save (const String &filename) const |
Saves the algorithm to a file. More... | |
virtual void | setDetectShadows (bool detectShadows)=0 |
Enables or disables shadow detection. More... | |
virtual void | setDist2Threshold (double _dist2Threshold)=0 |
Sets the threshold on the squared distance. More... | |
virtual void | setHistory (int history)=0 |
Sets the number of last frames that affect the background model. More... | |
virtual void | setkNNSamples (int _nkNN)=0 |
Sets the k in the kNN. More... | |
virtual void | setNSamples (int _nN)=0 |
Sets the number of data samples in the background model. More... | |
virtual void | setShadowThreshold (double threshold)=0 |
Sets the shadow threshold. More... | |
virtual void | setShadowValue (int value)=0 |
Sets the shadow value. More... | |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage. More... | |
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
Static Public Member Functions | |
template<typename _Tp > | |
static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
Loads algorithm from the file. More... | |
template<typename _Tp > | |
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
Loads algorithm from a String. More... | |
template<typename _Tp > | |
static Ptr< _Tp > | read (const FileNode &fn) |
Reads algorithm from the file node. More... | |
Protected Member Functions | |
void | writeFormat (FileStorage &fs) const |
K-nearest neighbours - based Background/Foreground Segmentation Algorithm.
The class implements the K-nearest neighbours background subtraction described in [109] . Very efficient if number of foreground pixels is low.
|
pure virtualinherited |
Computes a foreground mask.
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. |
Implemented in cv::BackgroundSubtractorMOG2.
|
inlinevirtualinherited |
Clears the algorithm state.
Reimplemented in cv::FlannBasedMatcher, and cv::DescriptorMatcher.
|
inlinevirtualinherited |
Returns true if the Algorithm is empty (e.g.
in the very beginning or after unsuccessful read
Reimplemented in cv::DescriptorMatcher, cv::ml::StatModel, cv::Feature2D, and cv::BaseCascadeClassifier.
|
pure virtualinherited |
Computes a background image.
backgroundImage | The output background image. |
|
virtualinherited |
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.
Reimplemented in cv::AKAZE, cv::KAZE, cv::SimpleBlobDetector, cv::GFTTDetector, cv::AgastFeatureDetector, cv::FastFeatureDetector, cv::MSER, cv::ORB, cv::BRISK, and cv::Feature2D.
|
pure virtual |
Returns the shadow detection flag.
If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for details.
|
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.
|
pure virtual |
Returns the number of last frames that affect the background model.
|
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.
|
pure virtual |
Returns the number of data samples in the background model.
|
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 Cucchiara, Detecting Moving Shadows...*, IEEE PAMI,2003.
|
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.
|
inlinestaticinherited |
Loads algorithm from the file.
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):
In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn).
References CV_Assert, cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::isOpened(), and cv::FileStorage::READ.
|
inlinestaticinherited |
Loads algorithm from a String.
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):
References CV_WRAP, cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::MEMORY, and cv::FileStorage::READ.
|
inlinevirtualinherited |
Reads algorithm parameters from a file storage.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.
|
inlinestaticinherited |
Reads algorithm from the file node.
This is static template method of Algorithm. It's usage is following (in the case of SVM):
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)
|
virtualinherited |
Saves the algorithm to a file.
In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
|
pure virtual |
Enables or disables shadow detection.
|
pure virtual |
Sets the threshold on the squared distance.
|
pure virtual |
Sets the number of last frames that affect the background model.
|
pure virtual |
Sets the k in the kNN.
How many nearest neighbours need to match.
|
pure virtual |
Sets the number of data samples in the background model.
The model needs to be reinitalized to reserve memory.
|
pure virtual |
Sets the shadow threshold.
|
pure virtual |
Sets the shadow value.
|
inlinevirtualinherited |
Stores algorithm parameters in a file storage.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.
References CV_WRAP.
Referenced by cv::Feature2D::write(), and cv::DescriptorMatcher::write().
|
inherited |
simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
protectedinherited |