我想检测项目的二进制图像中最大的BLOB。你能指导我怎么做这个吗?
由于
答案 0 :(得分:5)
使用findContours
查找图片中的所有blob,并使用contourArea
计算blob的区域。所以只需找到面积最大的轮廓(blob)。
答案 1 :(得分:2)
一个好的开始点是CVBloblib。我过去使用它,它工作正常。
那么这只是计算blob区域或周长的问题,具体取决于你想要的东西:)
答案 2 :(得分:0)
我不知道这里的最佳做法是什么,但我会这样做:
然后将所有blob存储在向量中。按blob区域对矢量进行排序。然后得到最后一个blob。
bool sortBlobsASC(首先是CBlob,第二个是CBlob){ 首先返回.Area()< second.Area(); }
std :: sort(myvec.begin(),myvec.end(),sortBlobsASC);