Оптимизирующий алгоритм сегментации с помощью вычитания изображений

для проекта в OpenCV. Я хотел бы сегментировать движущиеся объекты как можно лучше с, конечно, минимальным шумом.

Для этого я хотел бы использовать алгоритм вычитания изображения .

cvAbsDiff(this->lastFrame,grayScale,output);
cvThreshold(output,output,10,250, CV_THRESH_BINARY);
cvErode(output,output, NULL, 2);
cvDilate(output,output, NULL, 2);

Чтобы избавиться от этого шума, я попытался размыть и расширить изображения с помощью cvErode () и cvDilate () , но это довольно медленно, и если движущиеся объекты на экране small, эрозия удаляет очень немного большую часть объекта, поэтому после удаления я не всегда получаю хороший результат или разбиваю объекты.

После этого я выполняю cvFindContours () , чтобы получить контуры, проверьте размер и, если он подходит, нарисуйте прямоугольник вокруг движущихся объектов. Но результаты плохие, потому что часто объект разбивается на несколько прямоугольников из-за плохой сегментации.

Мой друг сказал мне, что я могу попробовать использовать более двух следующих кадров для вычитания, поскольку это уже может уменьшить шум ... но Я не Я действительно знаю, что он имел в виду и как я должен добавлять / вычитать кадры, чтобы получить изображение, которое почти не содержит шумов и показывает достаточно большие объекты.

Кто-нибудь может мне с этим помочь? Как я могу использовать более одного кадра, чтобы получить изображение с минимально возможным шумом, но с достаточно большими пятнами для движущихся объектов? Буду благодарен за любые советы ...

ДОПОЛНЕНИЯ:

Я загрузил текущее видео прямо здесь: http://temp.tinytall.de/ Может быть, кто-нибудь захочет попробовать его там ...

Это кадр из него: левое изображение показывает мои результаты cvFindContours (), а правое - сегментированное изображение, на котором я затем пытаюсь найти контуры ...

segmentation result

Итак, один большой объект он отлично работает, если они двигаются достаточно быстро ... то есть на велосипеде ... но при ходьбе с людьми это не всегда дает хороший результат ... Есть идеи?

8
задан madth3 15 January 2013 в 01:08
поделиться