在目标上绘制彩色轮廓
在目标轮廓上画最小外接圆
vector<vector<Point>> contours;
vector<Vec4i> hierarcy;
findContours(srcImg, contours, hierarcy, CV_RETR_TREE, CV_CHAIN_APPROX_NONE);
cout<<"num="<<contours.size()<<endl;
Point2f center; //定义圆中心坐标
float radius; //定义圆半径
for(int i=0; i<contours.size(); i++) //依次遍历每个轮廓
{
minEnclosingCircle(Mat(contours[i]), center, radius);
drawContours(dstImg, contours, i, Scalar(0, 0, 255), 2, 8);
circle(dstImg, center, radius, Scalar(0, 255, 0), 2, 8); //绘制第i个轮廓的最小外接圆
}
imshow("dst", dstImg);