OpenCV C ++,定义背景模型

时间:2016-09-06 09:11:54

标签: c++ visual-studio opencv background-subtraction

我正在忙着转换和解释我最后一年项目前几年使用的软件。 我想检查是否可以在头文件中定义背景模型,因为我目前收到错误。

class CWaterFill
{
public:
    void Initialise();
    Mat ContourFilter(Mat Img, int minSize);
    Mat superminImg;

protected:  
    BackgroundSubtractorMOG2 m_bg_model;//Define the background model.

};

enter image description here

然后在以下函数的.cpp文件中使用它:

void CWaterFill::GMM2(Mat InputImg, int nFrame, double learnRate)
{
    m_bg_model(InputImg, m_fgmask, learnRate);//m_fgmask outlook is
}

1 个答案:

答案 0 :(得分:1)

使用指向抽象BackgroundSubtractor对象的指针:

...
protected:  
    cv::Ptr<BackgroundSubtractor> m_bg_model;//Define the background model.

然后创建具体类型,例如:

m_bg_model = createBackgroundSubtractorMOG2(20, 16, true);