如何在opencv中相应地对blob进行排序?我所有的斑点都散布在图像上。我希望它在右下方成为第一个Blob。第二个Blob从第一个Blob的左下角到最后一个Blob的左上角。我需要一些有关如何处理它的建议。谢谢。
最佳答案
我会尝试这样的..
bool sortBlobs(CBlob first, CBlob second) {
return first.x > second.x;
}
int main() {
std::vector<CBlob> blobvector;
CBlobResult blobs;
// ...
// find blobs here ...
// ...
for (int i = 0; i < blobs.GetNumBlobs(); i++ )
{
blobvector.push_back(blobs.GetBlob(i));
}
// now sort the vector
std::sort(blobvector.begin(), blobvector.end(), sortBlobs);
// ...
}
关于c++ - 在opencv中相应地对blob进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10478342/