Группировка нескольких ограничивающих рамок - PullRequest
1 голос
/ 10 марта 2011

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

1 Ответ

1 голос
/ 11 марта 2011

Это зависит от того, насколько отключены ваши обнаруженные контуры, вы можете попытаться сгладить свое изображение, используя cvSmooth , а затем применить некоторые морфологические операторы, такие как Dilation ( cvDlate () ) и Closing( cvMorphologyEx () ).

Например, cvDlate () берет IplConvKernel, созданный CreateStructuringElementEx, и вы можете создать структурирующий элемент, который лучше всего соответствует вашим потребностям.

...