Я использую OpenCV2.2 для реализации обнаружения движущихся объектов с помощью метода вычитания фона. И я использую метод Gaussian смеси Модель (GMM) для моделирования фона эталонного изображения.
Я непосредственно получаю пиксели переднего плана (или маску переднего плана), используя класс cv:: BackgroundSubtractorMOG, предоставленный в OpenCV2.2. Это удобно, но маска переднего плана, возвращаемая cv:: BackgroundSubtractorMOG, не так хороша, как я ожидал. Кроме того, кажется, что cv:: BackgroundSubtractorMOG работает хуже, чем метод GMM, написанный на языке C, представленном в OpenCV1.0.
Ниже приведен мой код в OpenCV2.2:
cv::BackgroundSubtractorMOG mog;
mog(frame, fgMask, 0.01);
Итак, я использовал метод неправильно?
Кстати, cv:: BackgroundSubtractorMOG выполняет удаление тени на пикселях переднего плана?
Большое спасибо.