EstervQrCode 2.0.0
Library for qr code manipulation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
cv::BackgroundSubtractorMOG2 Class Referenceabstract

Gaussian Mixture-based Background/Foreground Segmentation Algorithm. More...

#include <background_segm.hpp>

Inheritance diagram for cv::BackgroundSubtractorMOG2:
cv::BackgroundSubtractor cv::Algorithm

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 getNMixtures () const =0
 Returns the number of gaussian components in the background model.
 
virtual CV_WRAP void setNMixtures (int nmixtures)=0
 Sets the number of gaussian components in the background model.
 
virtual CV_WRAP double getBackgroundRatio () const =0
 Returns the "background ratio" parameter of the algorithm.
 
virtual CV_WRAP void setBackgroundRatio (double ratio)=0
 Sets the "background ratio" parameter of the algorithm.
 
virtual CV_WRAP double getVarThreshold () const =0
 Returns the variance threshold for the pixel-model match.
 
virtual CV_WRAP void setVarThreshold (double varThreshold)=0
 Sets the variance threshold for the pixel-model match.
 
virtual CV_WRAP double getVarThresholdGen () const =0
 Returns the variance threshold for the pixel-model match used for new mixture component generation.
 
virtual CV_WRAP void setVarThresholdGen (double varThresholdGen)=0
 Sets the variance threshold for the pixel-model match used for new mixture component generation.
 
virtual CV_WRAP double getVarInit () const =0
 Returns the initial variance of each gaussian component.
 
virtual CV_WRAP void setVarInit (double varInit)=0
 Sets the initial variance of each gaussian component.
 
virtual CV_WRAP double getVarMin () const =0
 
virtual CV_WRAP void setVarMin (double varMin)=0
 
virtual CV_WRAP double getVarMax () const =0
 
virtual CV_WRAP void setVarMax (double varMax)=0
 
virtual CV_WRAP double getComplexityReductionThreshold () const =0
 Returns the complexity reduction threshold.
 
virtual CV_WRAP void setComplexityReductionThreshold (double ct)=0
 Sets the complexity reduction threshold.
 
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) CV_OVERRIDE=0
 Computes a foreground mask.
 
- Public Member Functions inherited from cv::BackgroundSubtractor
virtual CV_WRAP void getBackgroundImage (OutputArray backgroundImage) const =0
 Computes a background image.
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual CV_WRAP void clear ()
 Clears the algorithm state.
 
virtual CV_WRAP void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
CV_WRAP void write (FileStorage &fs, const String &name) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual CV_WRAP void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual CV_WRAP bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual CV_WRAP void save (const String &filename) const
 
virtual CV_WRAP String getDefaultName () const
 

Additional Inherited Members

- Static Public Member Functions inherited from cv::Algorithm
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.
 
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

Detailed Description

Gaussian Mixture-based Background/Foreground Segmentation Algorithm.

The class implements the Gaussian mixture model background subtraction described in [Zivkovic2004] and [Zivkovic2006] .

Member Function Documentation

◆ apply()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::apply ( InputArray  image,
OutputArray  fgmask,
double  learningRate = -1 
)
pure virtual

Computes a foreground mask.

Parameters
imageNext video frame. Floating point frame will be used without scaling and should be in range $[0,255]$.
fgmaskThe output foreground mask as an 8-bit binary image.
learningRateThe 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.

◆ getBackgroundRatio()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::getBackgroundRatio ( ) const
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.

◆ getComplexityReductionThreshold()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::getComplexityReductionThreshold ( ) const
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.

◆ getDetectShadows()

virtual CV_WRAP bool cv::BackgroundSubtractorMOG2::getDetectShadows ( ) const
pure virtual

Returns the shadow detection flag.

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

◆ getHistory()

virtual CV_WRAP int cv::BackgroundSubtractorMOG2::getHistory ( ) const
pure virtual

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

◆ getNMixtures()

virtual CV_WRAP int cv::BackgroundSubtractorMOG2::getNMixtures ( ) const
pure virtual

Returns the number of gaussian components in the background model.

◆ getShadowThreshold()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::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 Cucchiara, Detecting Moving Shadows...*, IEEE PAMI,2003.

◆ getShadowValue()

virtual CV_WRAP int cv::BackgroundSubtractorMOG2::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.

◆ getVarInit()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::getVarInit ( ) const
pure virtual

Returns the initial variance of each gaussian component.

◆ getVarMax()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::getVarMax ( ) const
pure virtual

◆ getVarMin()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::getVarMin ( ) const
pure virtual

◆ getVarThreshold()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::getVarThreshold ( ) const
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.

◆ getVarThresholdGen()

virtual CV_WRAP double cv::BackgroundSubtractorMOG2::getVarThresholdGen ( ) const
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.

◆ setBackgroundRatio()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setBackgroundRatio ( double  ratio)
pure virtual

Sets the "background ratio" parameter of the algorithm.

◆ setComplexityReductionThreshold()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setComplexityReductionThreshold ( double  ct)
pure virtual

Sets the complexity reduction threshold.

◆ setDetectShadows()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setDetectShadows ( bool  detectShadows)
pure virtual

Enables or disables shadow detection.

◆ setHistory()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setHistory ( int  history)
pure virtual

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

◆ setNMixtures()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setNMixtures ( int  nmixtures)
pure virtual

Sets the number of gaussian components in the background model.

The model needs to be reinitalized to reserve memory.

◆ setShadowThreshold()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setShadowThreshold ( double  threshold)
pure virtual

Sets the shadow threshold.

◆ setShadowValue()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setShadowValue ( int  value)
pure virtual

Sets the shadow value.

◆ setVarInit()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setVarInit ( double  varInit)
pure virtual

Sets the initial variance of each gaussian component.

◆ setVarMax()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setVarMax ( double  varMax)
pure virtual

◆ setVarMin()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setVarMin ( double  varMin)
pure virtual

◆ setVarThreshold()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setVarThreshold ( double  varThreshold)
pure virtual

Sets the variance threshold for the pixel-model match.

◆ setVarThresholdGen()

virtual CV_WRAP void cv::BackgroundSubtractorMOG2::setVarThresholdGen ( double  varThresholdGen)
pure virtual

Sets the variance threshold for the pixel-model match used for new mixture component generation.


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