//定义Canny边缘检测图像
Mat canny_output;
vector<vector<Point> > contours;//是一个向量,并且是一个双重向量,向量内每个元素保存了一组由连续的point点构成的点的集合的向量,每一组point点集就是一个轮廓,有多少轮廓,向量contours就有多少元素
vector<Vec4i> hierarchy;
vector<vector<Point> > contours
的功能是在openCV里面找边界。contours被定义成二维浮点型向量,这里面将来会存储找到的边界(x,y)座标。
vector<Vec4i>hierarchy
是定义的层级。这个在找边界findcontours
的时候会自动生成,这里只是给它开辟一个空间。
//查找轮廓
findContours(canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
在 findContours(canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
就能算出边界的座标,存在contours
里面。