OpenCV
3.3.0-dev
Open Source Computer Vision
|
Gaussian Mixture-based Background/Foreground Segmentation Algorithm. More...
#include "background_segm.hpp"
Public Member Functions | |
virtual void | apply (InputArray image, OutputArray fgmask, double learningRate=-1)=0 |
Computes a foreground mask. More... | |
virtual double | getBackgroundRatio () const =0 |
Returns the "background ratio" parameter of the algorithm. More... | |
virtual double | getComplexityReductionThreshold () const =0 |
Returns the complexity reduction threshold. More... | |
virtual bool | getDetectShadows () const =0 |
Returns the shadow detection flag. More... | |
virtual int | getHistory () const =0 |
Returns the number of last frames that affect the background model. More... | |
virtual int | getNMixtures () const =0 |
Returns the number of gaussian components 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 double | getVarInit () const =0 |
Returns the initial variance of each gaussian component. More... | |
virtual double | getVarMax () const =0 |
virtual double | getVarMin () const =0 |
virtual double | getVarThreshold () const =0 |
Returns the variance threshold for the pixel-model match. More... | |
virtual double | getVarThresholdGen () const =0 |
Returns the variance threshold for the pixel-model match used for new mixture component generation. More... | |
virtual void | setBackgroundRatio (double ratio)=0 |
Sets the "background ratio" parameter of the algorithm. More... | |
virtual void | setComplexityReductionThreshold (double ct)=0 |
Sets the complexity reduction threshold. More... | |
virtual void | setDetectShadows (bool detectShadows)=0 |
Enables or disables shadow detection. More... | |
virtual void | setHistory (int history)=0 |
Sets the number of last frames that affect the background model. More... | |
virtual void | setNMixtures (int nmixtures)=0 |
Sets the number of gaussian components 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 | setVarInit (double varInit)=0 |
Sets the initial variance of each gaussian component. More... | |
virtual void | setVarMax (double varMax)=0 |
virtual void | setVarMin (double varMin)=0 |
virtual void | setVarThreshold (double varThreshold)=0 |
Sets the variance threshold for the pixel-model match. More... | |
virtual void | setVarThresholdGen (double varThresholdGen)=0 |
Sets the variance threshold for the pixel-model match used for new mixture component generation. More... | |
Public Member Functions inherited from cv::BackgroundSubtractor | |
virtual void | getBackgroundImage (OutputArray backgroundImage) const =0 |
Computes a background image. More... | |
Public Member Functions inherited from cv::Algorithm | |
Algorithm () | |
virtual | ~Algorithm () |
virtual void | clear () |
Clears the algorithm state. More... | |
virtual bool | empty () const |
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More... | |
virtual String | getDefaultName () const |
virtual void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage. More... | |
virtual void | save (const String &filename) const |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage. More... | |
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. 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 inherited from cv::Algorithm | |
void | writeFormat (FileStorage &fs) const |
Gaussian Mixture-based Background/Foreground Segmentation Algorithm.
The class implements the Gaussian mixture model background subtraction described in [Zivkovic2004] and [Zivkovic2006] .
|
pure virtual |
Computes a foreground mask.
image | Next video frame. Floating point frame will be used without scaling and should be in range \([0,255]\). |
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. |
Implements cv::BackgroundSubtractor.
|
pure virtual |
Returns the "background ratio" parameter of the algorithm.
If a foreground pixel keeps semi-constant value for about backgroundRatio*history frames, it's considered background and added to the model as a center of a new component. It corresponds to TB parameter in the paper.
|
pure virtual |
Returns the complexity reduction threshold.
This parameter defines the number of samples needed to accept to prove the component exists. CT=0.05 is a default value for all the samples. By setting CT=0 you get an algorithm very similar to the standard Stauffer&Grimson algorithm.
|
pure virtual |
Returns the shadow detection flag.
If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorMOG2 for details.
|
pure virtual |
Returns the number of last frames that affect the background model.
|
pure virtual |
Returns the number of gaussian components 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.
|
pure virtual |
Returns the initial variance of each gaussian component.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Returns the variance threshold for the pixel-model match.
The main threshold on the squared Mahalanobis distance to decide if the sample is well described by the background model or not. Related to Cthr from the paper.
|
pure virtual |
Returns the variance threshold for the pixel-model match used for new mixture component generation.
Threshold for the squared Mahalanobis distance that helps decide when a sample is close to the existing components (corresponds to Tg in the paper). If a pixel is not close to any component, it is considered foreground or added as a new component. 3 sigma => Tg=3*3=9 is default. A smaller Tg value generates more components. A higher Tg value may result in a small number of components but they can grow too large.
|
pure virtual |
Sets the "background ratio" parameter of the algorithm.
|
pure virtual |
Sets the complexity reduction threshold.
|
pure virtual |
Enables or disables shadow detection.
|
pure virtual |
Sets the number of last frames that affect the background model.
|
pure virtual |
Sets the number of gaussian components 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.
|
pure virtual |
Sets the initial variance of each gaussian component.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Sets the variance threshold for the pixel-model match.
|
pure virtual |
Sets the variance threshold for the pixel-model match used for new mixture component generation.