我正在忙着转换和解释我最后一年项目前几年使用的软件。 我想检查是否可以在头文件中定义背景模型,因为我目前收到错误。
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
}
答案 0 :(得分:1)
使用指向抽象BackgroundSubtractor
对象的指针:
...
protected:
cv::Ptr<BackgroundSubtractor> m_bg_model;//Define the background model.
然后创建具体类型,例如:
m_bg_model = createBackgroundSubtractorMOG2(20, 16, true);