cv::findContours
时间: 2023-10-08 11:14:22 浏览: 167
cv::findContours函数是OpenCV中用于检测物体轮廓的函数。它可以通过简单几个步骤来检测出物体的轮廓,非常方便。该函数有几个参数,其中第四个参数是mode,用于定义轮廓的检索模式。mode的取值有四种:
1. CV_RETR_EXTERNAL:只检测最外围轮廓,忽略内围轮廓。
2. CV_RETR_LIST:检测所有轮廓,包括内围和外围轮廓,但不建立等级关系。
3. CV_RETR_CCOMP:检测所有轮廓,建立两个等级关系,外围为顶层,内围轮廓归属于顶层。
4. CV_RETR_TREE:检测所有轮廓,建立一个等级树结构,外层轮廓包含内层轮廓。
第五个参数是method,用于定义轮廓的近似方法。method的取值有三种:
1. CV_CHAIN_APPROX_NONE:保存物体边界上所有连续的轮廓点。
2. CV_CHAIN_APPROX_SIMPLE:仅保存轮廓的拐点信息,不保存直线段上的点。
3. CV_CHAIN_APPROX_TC89_L1和CV_CHAIN_APPROX_TC89_KCOS:使用teh-Chinl chain近似算法。
相关问题
cv::findContours输入参数详细介绍
cv::findContours是OpenCV中的一个函数,用于在二值图像中查找轮廓。它的输入参数包括二值图像、轮廓存储容器、轮廓检索模式、轮廓近似方法和可选的偏移量。其中,轮廓存储容器用于存储检测到的轮廓,轮廓检索模式用于指定轮廓的检索方式,轮廓近似方法用于指定轮廓的近似方式,偏移量用于指定轮廓点的偏移量。
cv::findContours(canny_result, contours, hierarchy, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE, cv::Point(0, 0));
这行代码是使用 OpenCV 库中的函数 cv::findContours() 来查找二值化图像中的轮廓(contours)。其中 canny_result 是输入的二值化图像,contours 是存储输出轮廓的向量(vector),hierarchy 是输出轮廓的层次结构,RETR_EXTERNAL表示只检测外轮廓,CHAIN_APPROX_NONE表示不进行轮廓近似,最后一个参数是轮廓偏移量。这个函数的作用是将输入的二值化图像中的所有轮廓找出来,并将它们存储在 contours 向量中。
阅读全文