cv2.findcontours()
时间: 2023-09-28 21:13:58 浏览: 129
python cv2截取不规则区域图片实例
cv2.findContours() 是 OpenCV 中的一个函数,用于在图像中查找轮廓。它的语法如下:
contours, hierarchy = cv2.findContours(image, mode, method)
其中,参数解释如下:
- image:输入的二值化图像,一般是通过阈值化、边缘检测等方式得到的。
- mode:轮廓检索模式,决定了如何提取轮廓。有以下几种可选模式:
- cv2.RETR_EXTERNAL:只检测外部轮廓。
- cv2.RETR_LIST:检测所有轮廓,不建立轮廓的等级关系。
- cv2.RETR_CCOMP:检测所有轮廓,并将其组织为两级层级结构。
- cv2.RETR_TREE:检测所有轮廓,并重建嵌套轮廓的完整层级结构。
- method:轮廓逼近方法。有以下几种可选方法:
- cv2.CHAIN_APPROX_NONE:保存所有的轮廓点。
- cv2.CHAIN_APPROX_SIMPLE:压缩水平、垂直和对角线方向上的冗余点。
- cv2.CHAIN_APPROX_TC89_L1:使用 Teh-Chinl chain 近似算法。
- cv2.CHAIN_APPROX_TC89_KCOS:使用 Teh-Chinl chain 近似算法。
函数返回两个值:contours 和 hierarchy。contours 是包含所有轮廓的列表,每个轮廓是一个由点组成的数组。hierarchy 是轮廓的层级信息,可以用于分析轮廓之间的关系。
请注意,cv2.findContours() 函数会修改输入的图像,因此建议在调用之前使用 image.copy() 创建副本。
阅读全文