我想合并其位置在另一个 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)
}
}
}
但是有一些问题:
- 迭代方式不是有效的方式
- 在某些情况下,一个 blob 内部不是 1,但可能是另一个 N blob。所以我倾向于考虑递归函数来做到这一点。
你有什么方法可以合并里面的那些 blob 吗?
已编辑