Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++中OpenCV等高线的排序_C++_Sorting_Opencv_Contour - Fatal编程技术网

C++中OpenCV等高线的排序

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); 现在我想把它们从大到小进行分类:我如何处理这个问题? 谢谢大家 似乎您必须使用来计算每个轮廓的面积,然后使用任何一种方法对它们进行排序 祝你好运 你想根据哪个参数对它们进行排序?我想根

我用findContours从二值图像中找到轮廓,将它们放入2d向量中。这就是我所做的:

vector<vector<Point>> contours;
findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
现在我想把它们从大到小进行分类:我如何处理这个问题?
谢谢大家

似乎您必须使用来计算每个轮廓的面积,然后使用任何一种方法对它们进行排序


祝你好运

你想根据哪个参数对它们进行排序?我想根据长度对它们进行排序。无论如何,没有更好的方法可以做到这一点?在旧的OpenCV中,我可以用cvSeqSort对轮廓序列进行排序:OpenCV 2没有类似的功能?@Idima抱歉,我没有找到这个。好的,谢谢!无论如何,我发现arcLength也可以在查找contourArea时获得轮廓的长度,所以感谢您让我查看它;