//移除过长或过短的轮廓
int cmin= 100;//最小轮廓长度
int cmax = 1000;//最大轮廓长度
std::vector<std::vector<cv::Point> >::const_iterator itc = contours.begin();
//std::vector<std::vector<cv::Point>>::const_iterator itc= contours.begin();
while(itc!=contours.end())
{
if(itc->size() <cmin || itc->size() >cmax)
//变量的类型不对
itc = contours.erase(itc);
else
++itc;
}
gcc对于const_iterator的erase,还没有实现,我看了vector的头文件,发现也只有non-const iterator版本的。在stackoverflow上有个相同的问题,lz可以看一看。http://stackoverflow.com/questions/19559235/stdvectorerase-and-const-iterators-with-g
目前未解决。