OpenCV  3.2.0-dev
Open Source Computer Vision
cv::cuda::BackgroundSubtractorGMG Class Referenceabstract

Background/Foreground Segmentation Algorithm. More...

#include "cudalegacy.hpp"

Inheritance diagram for cv::cuda::BackgroundSubtractorGMG:
Collaboration diagram for cv::cuda::BackgroundSubtractorGMG:

Public Member Functions

virtual void apply (InputArray image, OutputArray fgmask, double learningRate=-1)=0
 Computes a foreground mask. More...
 
virtual void apply (InputArray image, OutputArray fgmask, double learningRate, Stream &stream)=0
 
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 double getBackgroundPrior () const =0
 
virtual double getDecisionThreshold () const =0
 
virtual double getDefaultLearningRate () const =0
 
virtual String getDefaultName () const
 Returns the algorithm string identifier. More...
 
virtual int getMaxFeatures () const =0
 
virtual double getMaxVal () const =0
 
virtual double getMinVal () const =0
 
virtual int getNumFrames () const =0
 
virtual int getQuantizationLevels () const =0
 
virtual int getSmoothingRadius () const =0
 
virtual bool getUpdateBackgroundModel () const =0
 
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 setBackgroundPrior (double bgprior)=0
 
virtual void setDecisionThreshold (double thresh)=0
 
virtual void setDefaultLearningRate (double lr)=0
 
virtual void setMaxFeatures (int maxFeatures)=0
 
virtual void setMaxVal (double val)=0
 
virtual void setMinVal (double val)=0
 
virtual void setNumFrames (int nframes)=0
 
virtual void setQuantizationLevels (int nlevels)=0
 
virtual void setSmoothingRadius (int radius)=0
 
virtual void setUpdateBackgroundModel (bool update)=0
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage. 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
 

Detailed Description

Background/Foreground Segmentation Algorithm.

The class discriminates between foreground and background pixels by building and maintaining a model of the background. Any pixel which does not fit this model is then deemed to be foreground. The class implements algorithm described in [33] .

Member Function Documentation

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

Computes a foreground mask.

Parameters
imageNext video frame.
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.

Implemented in cv::BackgroundSubtractorMOG2.

virtual void cv::cuda::BackgroundSubtractorGMG::apply ( InputArray  image,
OutputArray  fgmask,
double  learningRate,
Stream stream 
)
pure virtual
virtual void cv::Algorithm::clear ( )
inlinevirtualinherited

Clears the algorithm state.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::cuda::DescriptorMatcher.

virtual bool cv::Algorithm::empty ( ) const
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, cv::BaseCascadeClassifier, and cv::cuda::DescriptorMatcher.

virtual void cv::BackgroundSubtractor::getBackgroundImage ( OutputArray  backgroundImage) const
pure virtualinherited

Computes a background image.

Parameters
backgroundImageThe output background image.
Note
Sometimes the background image can be very blurry, as it contain the average background statistics.
virtual double cv::cuda::BackgroundSubtractorGMG::getBackgroundPrior ( ) const
pure virtual
virtual double cv::cuda::BackgroundSubtractorGMG::getDecisionThreshold ( ) const
pure virtual
virtual double cv::cuda::BackgroundSubtractorGMG::getDefaultLearningRate ( ) const
pure virtual
virtual String cv::Algorithm::getDefaultName ( ) const
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.

virtual int cv::cuda::BackgroundSubtractorGMG::getMaxFeatures ( ) const
pure virtual
virtual double cv::cuda::BackgroundSubtractorGMG::getMaxVal ( ) const
pure virtual
virtual double cv::cuda::BackgroundSubtractorGMG::getMinVal ( ) const
pure virtual
virtual int cv::cuda::BackgroundSubtractorGMG::getNumFrames ( ) const
pure virtual
virtual int cv::cuda::BackgroundSubtractorGMG::getQuantizationLevels ( ) const
pure virtual
virtual int cv::cuda::BackgroundSubtractorGMG::getSmoothingRadius ( ) const
pure virtual
virtual bool cv::cuda::BackgroundSubtractorGMG::getUpdateBackgroundModel ( ) const
pure virtual
template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::load ( const String filename,
const String objname = String() 
)
inlinestaticinherited

Loads algorithm from the file.

Parameters
filenameName of the file to read.
objnameThe 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).

References cv::Ptr< T >::empty(), cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), and cv::FileStorage::READ.

Here is the call graph for this function:

template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::loadFromString ( const String strModel,
const String objname = String() 
)
inlinestaticinherited

Loads algorithm from a String.

Parameters
strModelThe string variable containing the model you want to load.
objnameThe 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);

References CV_WRAP, cv::Ptr< T >::empty(), cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::MEMORY, and cv::FileStorage::READ.

Here is the call graph for this function:

virtual void cv::Algorithm::read ( const FileNode fn)
inlinevirtualinherited

Reads algorithm parameters from a file storage.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.

template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::read ( const FileNode fn)
inlinestaticinherited

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)

References cv::Ptr< T >::empty().

Here is the call graph for this function:

virtual void cv::Algorithm::save ( const String filename) const
virtualinherited

Saves the algorithm to a file.

In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).

virtual void cv::cuda::BackgroundSubtractorGMG::setBackgroundPrior ( double  bgprior)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setDecisionThreshold ( double  thresh)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setDefaultLearningRate ( double  lr)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setMaxFeatures ( int  maxFeatures)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setMaxVal ( double  val)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setMinVal ( double  val)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setNumFrames ( int  nframes)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setQuantizationLevels ( int  nlevels)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setSmoothingRadius ( int  radius)
pure virtual
virtual void cv::cuda::BackgroundSubtractorGMG::setUpdateBackgroundModel ( bool  update)
pure virtual
virtual void cv::Algorithm::write ( FileStorage fs) const
inlinevirtualinherited

Stores algorithm parameters in a file storage.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.

void cv::Algorithm::writeFormat ( FileStorage fs) const
protectedinherited

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