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