I want to merge the blob whose position inside another blobs.
I use the cvbloblib opencv c++. 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
- 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 ?
EDITED
Sample image here in this forum