Эффективные способы слияния BLOB-объектов, положение которых внутри другого BLOB-объекта, с помощью cvbloblib

Я хочу объединить блоб, чье положение внутри другого блоба.

Я использую cvbloblib opencv c ++. Я могу получить все капли; однако, библиотека в основном обнаруживает все BLOB-объекты, даже положение этих BLOB-объектов внутри другого.

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

for (int i = 0; i<res.GetNumBlobs(); i++){
for (int j = 0; i<res.GetNumBlobs(); i++){
//find if each blob is inside another
if(condition blob(i) inside){
//delete
//break or return to another blob(i+1)
}
}
}

Однако есть некоторые проблемы:

  1. итерационные способы не эффективны
  2. Есть случаи, когда капли
    внутренности не 1, но могут быть еще N BLOB. поэтому я склонен думать о
    рекурсивная функция для этого.

Есть ли у вас какие-либо способы слить эти капли внутри?

РЕДАКТИРОВАНИЕ

Пример изображения здесь в этом Форум

0

Решение

Задача ещё не решена.

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

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