Перейти к содержимому
Compvision.ru

Cerebrum

Пользователи
  • Количество публикаций

    2
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О Cerebrum

  • Звание
    Новичок
  1. Сделал через прогон всех пикселей. Скорость приятно удивила, спасибо. В былые времена, когда начинал все с delphi, это все было в разы медленнее. На счет цвета, маловероятно что кто-то будет потом на цвет переходить. На счет преимущества HSV над RGB, пока не особо его осознаю. Может кто образумит) На счет Connected Components Labeling. Уже решал подобного рода задачи когда еще не использовал библиотеку. Меня порадовала как раз функция cvFloodFill(), которая все делает что надо, да еще как раз площадь возвращает, да и периметр, который тоже потом понадобится. Идея на счет контуров... если так посудить там так же используется перебор всех пикселей, может немного более оптимизированный, но все же. И достаточно много всего лишнего вычисляется.
  2. Доброго времени суток. Передо мной поставили практически аналогичную задачу по выделению объектов. Но есть несколько нюансов: Выделение не определенного цвета, а цветового интерва. Хотя на первое время будут использоваться изображения в оттенках серого; Существуют ограничения по площади закрашивания объектов. На первый взгляд перебор всех пикселей для поиска нужных нам объектов достаточно медленно будет производится. Вот и вопрос есть ли более оптимальный вариант именно с учетом ограничений по площади. Первоначально пришло в голову использовать cvInRangeS(). Получив бинарное изображение с картой наших выделяемых объектов, следует их отсеять по площади. Вот здесь тем же перебором пикселей для поиска объектов белого цвета к примеру как-то не оптимально использовать. Заливку осуществлять с помощью cvFloodFill(). Далее уже используя эту собранную маску можно использовать для закрашивания исходного изображения в нужный цвет. Пока писал пост пришла идея на счет контуров, попробую реализовать оба варианта и будет видно что быстрее и корректнее работает. Может у форумчан есть что-то готовое, без использования перебора пикселей, либо еще некоторые уловки для ускорения работы метода (будь то еще мне неизвестные процедуры библиотеки). P.S. Извините за ломаный язык...
×