find_contours
时间: 2023-08-22 11:14:12 浏览: 106
FindContours.rar_Findcontours
findContours函数是OpenCV中的一个函数,用于在图像中查找轮廓。它的调用方式如下所示:findContours(image, contours, hierarchy, mode, method)。其中,image是输入的二值图像,contours是用于存储轮廓的数组,hierarchy是用于存储轮廓的层级关系的数组,mode是轮廓检索模式,method是轮廓近似方法。[1]
在调用findContours函数时,可以通过设置mode参数来筛选出内轮廓。例如,使用CV_RETR_CCOMP模式可以检测双层轮廓,并将内轮廓筛选出来。[1][2]
在程序中,可以使用vector<Vec4i> hierarchy来过滤内外轮廓,vector<vector<Point>> contours来存储轮廓的数组,或者使用vector<Mat> contours来存储轮廓的数组。[2]
有时候在使用findContours函数时可能会遇到一些问题。例如,如果使用vector<vector<Point>> contours作为参数,可能会出现Assertion failed的错误。这是因为标准库中的std::vector和Point与findContours函数中使用的vector和Point不是同一类型,解决方法是使用cv::vector和cv::Point来声明。[3]
总结来说,findContours函数是用于在图像中查找轮廓的函数,可以通过设置参数来筛选出内轮廓,并且在使用时需要注意参数的类型匹配问题。
阅读全文