2013-06-18 4 views
3

Что делает SimpleBlobDetector Фактически?Как использовать SimpleBlobDetector в OpenCV?

Он возвращает мне несколько моментов, но что это за пункты?

Имеет ли детектор blob области изображений аналогичных свойств, включая цвета?

Могу ли я получить контур найденных капель? Я видел detectEx вызовы функций в некоторых примерах в Интернете, но не вижу такой функции в OpenCV 2.4.5. Что теперь используется вместо этой функции?

ОБНОВЛЕНИЕ

Вот как алгоритм обнаружения блоб описано в документации:

  1. Преобразование исходного изображения в двоичное изображение, применяя пороговую с несколькими пороговыми значениями из minThreshold (включительно) maxThreshold (эксклюзивный) с порогом расстояния. Шаг между соседними порогами.
  2. Извлечь подключенные компоненты каждые бинарное изображение через findContours() и рассчитать их центры.
  3. Групповые центры из нескольких бинарных изображений по их координатам. Закрыть Центры образуют одну группу, которая соответствует одному блобу, который равен , управляемому параметром minDistBetweenBlobs.
  4. Из групп оценивайте конечные центры капель и их радиусы и возвращайтесь как местоположения и размеры ключевых точек.

Непонятно, что капли должны быть круглыми!

ответ

4

Точки, которые он возвращает, являются центрами капли на изображении. Капли считаются круглыми, а размер хранится как размер ключевых точек в векторе вывода, который получается с помощью функции detect(). Вы можете указать цвет капли, который вы ищете, используя фильтрацию на основе цвета, как указано в вашей ссылке. Установите filterByColor = true и укажите нужный цвет в blobColor.

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

+0

Как объединить контуры, содержащие похожие цвета? –

+0

Вы хотите объединить капли или объединить контуры? Я не понимаю, как вы объедините контуры ...? – Zaphod

+0

Я могу просто положить их в сумку. Позже я могу рассчитать объединенную область или сделать корпус. –

Смежные вопросы