C++中OpenCV等高线的排序
我用findContours从二值图像中找到轮廓,将它们放入2d向量中。这就是我所做的:C++中OpenCV等高线的排序,c++,sorting,opencv,contour,C++,Sorting,Opencv,Contour,我用findContours从二值图像中找到轮廓,将它们放入2d向量中。这就是我所做的: vector<vector<Point>> contours; findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE); 现在我想把它们从大到小进行分类:我如何处理这个问题? 谢谢大家 似乎您必须使用来计算每个轮廓的面积,然后使用任何一种方法对它们进行排序 祝你好运 你想根据哪个参数对它们进行排序?我想根
vector<vector<Point>> contours;
findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
现在我想把它们从大到小进行分类:我如何处理这个问题?
谢谢大家 似乎您必须使用来计算每个轮廓的面积,然后使用任何一种方法对它们进行排序
祝你好运 你想根据哪个参数对它们进行排序?我想根据长度对它们进行排序。无论如何,没有更好的方法可以做到这一点?在旧的OpenCV中,我可以用cvSeqSort对轮廓序列进行排序:OpenCV 2没有类似的功能?@Idima抱歉,我没有找到这个。好的,谢谢!无论如何,我发现arcLength也可以在查找contourArea时获得轮廓的长度,所以感谢您让我查看它;