Мне нужно приложение для вычитания фона, которое дает мне на выходе черно-белое изображение с абстрактным представлением объектов. Смотрите изображение ниже для получения дополнительной информации. Это должен быть онлайновый алгоритм, чтобы фон адаптировался к изменениям освещения, как при видеонаблюдении, но он не должен адаптироваться слишком быстро, чтобы иметь возможность обнаруживать объекты, появляющиеся в течение более длительного времени.
Я пробовал это в OpenCV с ударом кода, и есть две основные проблемы:
1. это шумно
2. Хотя я установил параметр в BackgroundSubtractorMOG2 (30000,16.0, false) высоким, фон адаптируется слишком быстро.
Мне не нужно никакого отслеживания объектов.
Это должно быть стандартное приложение фона, но я не смог найти пример кода. Как это можно реализовать? Большое спасибо.
...
for(;;)
{
cap >> frame;
bg.operator ()(frame,fore);
bg.getBackgroundImage(back);
cv::findContours(fore,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
cv::drawContours(frame,contours,-1,cv::Scalar(0,0,255),2);
cv::imshow("Frame",fore);
cv::imshow("Background",back);
if(cv::waitKey(30) >= 0) break;
}
...
Задача ещё не решена.
Других решений пока нет …