class cv::cuda::BackgroundSubtractorMOG2

Overview

Gaussian Mixture-based Background/Foreground Segmentation Algorithm. Moreā€¦

#include <cudabgsegm.hpp>

class BackgroundSubtractorMOG2: public cv::BackgroundSubtractorMOG2
{
public:
    // methods

    virtual
    void
    apply(
        InputArray image,
        OutputArray fgmask,
        double learningRate,
        Stream& stream
        ) = 0;

    virtual
    void
    getBackgroundImage(
        OutputArray backgroundImage,
        Stream& stream
        ) const = 0;
};

Inherited Members

public:
    // methods

    virtual
    void
    clear();

    virtual
    bool
    empty() const;

    virtual
    String
    getDefaultName() const;

    virtual
    void
    read(const FileNode& fn);

    virtual
    void
    save(const String& filename) const;

    virtual
    void
    write(FileStorage& fs) const;

    template <typename _Tp>
    static
    Ptr<_Tp>
    load(
        const String& filename,
        const String& objname = String()
        );

    template <typename _Tp>
    static
    Ptr<_Tp>
    loadFromString(
        const String& strModel,
        const String& objname = String()
        );

    template <typename _Tp>
    static
    Ptr<_Tp>
    read(const FileNode& fn);

    virtual
    void
    apply(
        InputArray image,
        OutputArray fgmask,
        double learningRate = -1
        ) = 0;

    virtual
    void
    getBackgroundImage(OutputArray backgroundImage) const = 0;

    virtual
    void
    apply(
        InputArray image,
        OutputArray fgmask,
        double learningRate = -1
        ) = 0;

    virtual
    double
    getBackgroundRatio() const = 0;

    virtual
    double
    getComplexityReductionThreshold() const = 0;

    virtual
    bool
    getDetectShadows() const = 0;

    virtual
    int
    getHistory() const = 0;

    virtual
    int
    getNMixtures() const = 0;

    virtual
    double
    getShadowThreshold() const = 0;

    virtual
    int
    getShadowValue() const = 0;

    virtual
    double
    getVarInit() const = 0;

    virtual
    double
    getVarMax() const = 0;

    virtual
    double
    getVarMin() const = 0;

    virtual
    double
    getVarThreshold() const = 0;

    virtual
    double
    getVarThresholdGen() const = 0;

    virtual
    void
    setBackgroundRatio(double ratio) = 0;

    virtual
    void
    setComplexityReductionThreshold(double ct) = 0;

    virtual
    void
    setDetectShadows(bool detectShadows) = 0;

    virtual
    void
    setHistory(int history) = 0;

    virtual
    void
    setNMixtures(int nmixtures) = 0;

    virtual
    void
    setShadowThreshold(double threshold) = 0;

    virtual
    void
    setShadowValue(int value) = 0;

    virtual
    void
    setVarInit(double varInit) = 0;

    virtual
    void
    setVarMax(double varMax) = 0;

    virtual
    void
    setVarMin(double varMin) = 0;

    virtual
    void
    setVarThreshold(double varThreshold) = 0;

    virtual
    void
    setVarThresholdGen(double varThresholdGen) = 0;

protected:
    // methods

    void
    writeFormat(FileStorage& fs) const;

Detailed Documentation

Gaussian Mixture-based 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 [98].

See also:

BackgroundSubtractorMOG2