0

我想合并其位置在另一个 blob 中的 blob。

我使用cvbloblib opencv c++。我可以得到所有的斑点;但是,该库基本上可以检测所有 blob,甚至是那些 blob 在另一个 blob 中的位置。

我想使用迭代方法来检测每个 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. 在某些情况下,一个 blob 内部不是 1,但可能是另一个 N blob。所以我倾向于考虑递归函数来做到这一点。

你有什么方法可以合并里面的那些 blob 吗?

已编辑

论坛中的示例图片

4

0 回答 0