cv2.findContours() 的参数
时间: 2023-10-24 17:30:52 浏览: 57
cv2.findContours() 函数是用于在图像中查找轮廓的函数。它接受三个参数:
1. image:输入的二值图像,通常是通过阈值化或边缘检测得到的。要求是单通道、8位或32位浮点类型的图像。
2. mode:轮廓检索模式,指定了要提取的轮廓的层次结构。可以是以下几种模式之一:
- cv2.RETR_EXTERNAL: 只检测最外层的轮廓,忽略内部的轮廓。
- cv2.RETR_LIST: 提取所有的轮廓,并将其保存在列表中,不建立层次结构。
- cv2.RETR_CCOMP: 提取所有的轮廓,并将它们组织成两层的层次结构,顶层是外部边界,次层是内部边界。
- cv2.RETR_TREE: 提取所有的轮廓,并重建完整的层次结构。
3. method:轮廓逼近方法。可以是以下几种方法之一:
- cv2.CHAIN_APPROX_NONE: 存储所有的边界点。
- cv2.CHAIN_APPROX_SIMPLE: 压缩水平、垂直和对角线方向上的冗余点,只保留端点。
- cv2.CHAIN_APPROX_TC89_L1: 应用 Teh-Chin 链逼近算法。
- cv2.CHAIN_APPROX_TC89_KCOS: 应用 Teh-Chin 链逼近算法并使用 Kohli 和 Kannan 的凸壳估计方法。
函数会返回两个值:contours 和 hierarchy。其中 contours 是一个 Python 列表,每个元素都是一个轮廓的 Numpy 数组;hierarchy 是一个包含轮廓之间关系信息的 Numpy 数组。