opencv.findContours
时间: 2023-10-24 11:32:14 浏览: 162
opencv寻找轮廓
3星 · 编辑精心推荐
`cv2.findContours()` 是 OpenCV 库中的一个函数,用于在图像中查找轮廓。它接受一个二值化的图像作为输入,并返回一组轮廓。以下是 `findContours()` 函数的基本语法:
```python
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-Chin 链逼近算法的一种。
- `cv2.CHAIN_APPROX_TC89_KCOS`:使用 Teh-Chin 链逼近算法的另一种。
`findContours()` 函数返回两个值:`contours` 和 `hierarchy`。`contours` 是一个包含所有轮廓的列表,每个轮廓是一个包含点坐标的 NumPy 数组。`hierarchy` 是一个可选参数,用于表示轮廓之间的关系,通常在后续轮廓处理中使用。
希望这可以帮助你理解 `cv2.findContours()` 函数的用法!如果你有任何其他问题,请随时问我。
阅读全文