使用OpenCV的函数minEllipse()求轮廓的外接椭圆时一定要判断构成轮廓的点个数是否大于5个,如果不判断,是要报错的,如下图所示:
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
正确的示例代码如下:
// 求轮廓的外接椭圆
if (contours[i].size() > 5) //使用前一定要判断是否大于5个点,小于5个点要报错
{
minEllipse[i] = fitEllipse(Mat(contours[i]));
}