OpenCV Error: Incorrect size of input array (There should be at least 5 points to fit the ellipse) in cv::fitEllipse, file C:\builds\master_PackSlave-win32-vc11-shared\opencv\modules\imgproc\src\shapedescr.cpp, line 379
vector<vector<Point>>contours;
vector<Vec4i>hierarchy(contours.size());
findContours(erode,contours,hierarchy,RETR_TREE,CHAIN_APPROX_SIMPLE,Point(0,0));
vector<RotatedRect>box(contours.size());
for(size_t i=0;i<contours.size();i++)
{
if(contours[i].size()>60)
{
box[i]=fitEllipse(Mat(contours[i]));
if(box[i].size.width=box[i].size.height)
{
if(box[i].size.width>300&&box[i].size.width<500)
{
x=box[i].center.x;
y=box[i].center.y;
len=box[i].size.width/2;
}
}
}
}
注意:如果出现标题所说的错误,应设置筛选条件if(contours[i].size()>60)
、让contours[i].size()>5
或者更大的数字,就可以解决这个错误,一行要看仔细,是contours[i].size()
这个条件