Как использовать SimpleBlobDetector в OpenCV?

Что значит SimpleBlobDetector на самом деле делать?

Он возвращает мне некоторые очки, но что это за очки?

Находит ли детектор BLOB-объектов области с похожими свойствами, включая цвета?

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

ОБНОВИТЬ

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

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

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

3

Решение

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

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

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]