Ограничительная рамка в разнице изображений в видео - PullRequest
0 голосов
/ 01 ноября 2018

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

enter image description here

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

1 Ответ

0 голосов
/ 01 ноября 2018

Вы не пометили конкретным языком, поэтому я дам псевдокодовый ответ с указателями на используемые функции OpenCV:

  1. Заполните пробелы, если вы хотите, чтобы непересекающиеся области, расположенные близко друг к другу, были назначены одному и тому же блоку: morphologyEx с помощью операции MORPH_CLOSE и с использованием небольшого ядра.

  2. Анализ подключенных компонентов: connectedComponents. Это приводит к целочисленному изображению, где все пиксели для каждого «объекта» окрашены одинаковым значением (метка).

  3. Найти минимум и максимум координат x и y для каждой метки. Вы можете объединить этот шаг с предыдущим в OpenCV, используя connectedComponentsWithStats и получив столбцы CC_STAT_LEFT, CC_STAT_TOP, CC_STAT_WIDTH и CC_STAT_HEIGHT выходных данных stats.

Да, это довольно дешево.

...