извлечение блобов с использованием opencv - PullRequest
3 голосов
/ 01 ноября 2011

Я сделал функцию cvAdaptiveTheshold для получения изображения ниже.Теперь я хочу обрезать область изображения, которая содержит три строки A, B и C. Все остальные элементы необходимо удалить.Я думаю, что blob - лучший способ сделать это.Я получил все капли с определенными областями и периметром.Я думаю, что удаление капель в соответствии с размерами не является хорошим методом.Тогда, как мы можем собрать капли этой конкретной области вместе?Любая помощь будет оценена.Спасибо. image that should be processed

Ответы [ 2 ]

0 голосов
/ 04 ноября 2011

используйте cvblob для обработанного изображения.

http://code.google.com/p/cvblob/

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

На первый взгляд, вы заметите, что три строки, которые вы хотите, ограничены сверху и снизу пунктирными горизонтальными линиями. Не вдаваясь в текстовое обнаружение BLOB-объектов, вы можете сделать это так:

  1. Применение горизонтального длинного структурирующего элемента с морфологической эрозией к изображению соединит пунктирные линии в две отдельные линии.
  2. Проверьте соотношение сторон и длину каждого объекта, чтобы узнать, какие две строки
  3. Для каждого из других BLOB-объектов, проверьте его положение w.r.t. две линии - если они ограничены по вертикали, выберите.
...