Очистить фон SubtractorMOG2

У меня есть следующий код.

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 ответ

Решение

Вызов void initialize(Size frameSize, int frameType); метод.

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

Согласно исходному коду, эти методы очистят внутреннюю модель.

Другие вопросы по тегам