opencv2 Contours如何按区域大小进么排序,
vector<vector<Point> > contours;
。。。。。。
sort(contours.begin(), contours.end());//运行会报错,报的系统源文件错误
两个问题:
1、如何进其进行大小排序
2、如何排除完全的包含关系(筛选),见如下示例图片:
contours画出来的矩形,想排除掉绿色的数据,因为它被完全包含了。
谢谢回答!
opencv2 Contours如何按区域大小进么排序,
vector<vector<Point> > contours;
。。。。。。
sort(contours.begin(), contours.end());//运行会报错,报的系统源文件错误
两个问题:
1、如何进其进行大小排序
2、如何排除完全的包含关系(筛选),见如下示例图片:
contours画出来的矩形,想排除掉绿色的数据,因为它被完全包含了。
谢谢回答!
排序函数还少一项排序依据,完整的形式是:
std::sort(contours.begin(),contours.end(),ContoursSortFun);
其中ContoursSortFun是排序的依据函数
static inline bool ContoursSortFun(vector contour1,vector contour2) { return (cv::contourArea(contour1) > cv::contourArea(contour2)); }