清除BackgroundSubtractorMOG2

时间:2013-11-06 10:24:27

标签: opencv background-subtraction

我有以下代码。

cv::VideoCapture capture;
cv::Mat image;
cv::Mat foregroundMask
cv::BackgroundSubtractorMOG2 backgroundModel;

// update background model
for(int i = 0; i < 10; ++i)
{
    capture >> image;
    backgroundModel(image, foregroundMask);
}

//clear background model
// TODO   

// update background model    
for(int i = 0; i < 10; ++i)
{
    capture >> image;
    backgroundModel(image, foregroundMask);
}

如何清除背景模型并从头开始重新更新?就像它之前没有更新过。在上面的代码中替换TODO部分的代码应该是什么?

1 个答案:

答案 0 :(得分:3)

调用void initialize(Size frameSize, int frameType);方法。

//clear background model
backgroundModel.initialize(image.size(), image.type());

根据source code,这种方法将清除内部模型。