OpenCV C++,定义背景模型

OpenCV C++, Define a background model

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

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

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

};

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

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

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

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

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

m_bg_model = createBackgroundSubtractorMOG2(20, 16, true);