我试图访问嵌套在另一个轮廓中的轮廓,对其进行一些测试,例如区域测试,以及查看边界矩形是否为正方形。我想出了如何测试是否有内部轮廓,但我不知道如何访问它。
相关代码
vector<vector<Point> > contours;
vector<Vec4i> hierarchy;
DEBUG_SHOW("binary image", binary);
findContours(binary, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
vector<vector<Point> > polygons(contours.size());
for (size_t i = 0; i < contours.size(); i++) {
vector<Point> contour = contours[i];
double area = contourArea(contour);
if (area < 300) {
continue;
}
if(hierarchy[i][2] != -1){
//test internal contour
}
答案 0 :(得分:0)
如果我正确,那么你有一套积分
Vector<point>
然后你有这些集合的集合
Vector<Vector<point>>
现在考虑到这一点。您使用
遍历Vector(点)for (size_t i = 0; i < contours.size(); i++) {
&安培;您需要在
中迭代矢量您需要:
for (size_t j=0; j = contours.at(i).size(); j++){
//Do Your Thang
i++;
}