Effecient ways to merge blob whose position inside another blob using cvbloblib
I basically want to remove all blobs whose positions insides another blobs.
I use the cvbloblib . I can get all the blobs; however, the library basically detect all blob even the position of those blob inside another.
I think of using iterative ways to detect if each blob inside another and merge them together.
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)
}
}
}
However there are some issues :
iterative ways is not effecient way
You see in the image above, there are the cases where a blobs insides not 1 but could be another N blobs. so I tend to think about recursive function to do that.
Do you have any ways to merge those blobs inside ?