index出循环就是负数,怎么回事呀,该怎么修改

//轮廓筛选
vector<vector> finalcontours;
vector<vector> contours_poly(contours.size());
for (int i = 0; i < contours.size(); i++)
{
if (contourArea(contours[i]) > minarea)

img

    {
        //approxPolyDP(Mat(contours[i]), contours_poly[i], 3, true);
        finalcontours.push_back(contours[i]);
    }
}

//找到最大轮廓
double len = INT_MIN;
int index = 0;
for ( int i = 0; i < finalcontours.size(); i++)
{
    double l = contourArea(finalcontours[i]);
    if (l > len)
    {
        len = l;
        index = i;
    }
}
__________


if (finalcontours.size() != 0)
{
    vector<Point2f> maxcontours(finalcontours[index].size());
     approxPolyDP(Mat(finalcontours[index]), maxcontours, 0.02 * arcLength(finalcontours[index], true), true); //可通过修改近似曲线的阈值来

你怎么知道它是负数的,设置断点调试的吗

到approxPolyDP就直接中断了