Быстрое обнаружение движения в opencv - PullRequest
1 голос
/ 18 марта 2011

Я хочу быстро обнаружить движение перед отслеживанием, будет ли достаточно absDiff () (или cmpS ()) между 2 кадрами для достижения этого или я должен рассмотреть что-то большее? Пожалуйста, имейте в виду, что я совершенно новичок в обработке изображений и opencv:)

Спасибо

Ответы [ 3 ]

2 голосов
/ 20 марта 2011

В главе 9 книги есть довольно хорошее объяснение «Изучение OpenCV: компьютерное видение с помощью библиотеки OpenCV» .В зависимости от вашей сцены (в помещении / на улице, условий освещения и т. Д.) Этап обучения вашего алгоритма состоит из накопления разницы между кадрами в буфере, а затем фильтрации результатов с использованием морфологических операций для устранения шума.Или, когда базовый cvAbsDiff обнаруживает ложное движение, вместо этого вы реализуете немного более сложный алгоритм «кодовой книги».

Исходный код доступен на сайте OReilly.

2 голосов
/ 19 марта 2011

Если вы хотите обнаружить движение определенного объекта, вам понадобится вычисление «связанных компонентов». См. http://www.bukisa.com/articles/263221_connected-components-using-opencv

0 голосов
/ 17 мая 2011

Там нет быстрого и легкого пути. Метод, который я пытаюсь сделать, состоит в том, чтобы со временем построить фоновое изображение, вычесть передний план, который будет ничем не являться частью фона, и наложить указатель на объект переднего плана.

...