findContours
时间: 2023-10-14 21:22:29 浏览: 67
`findContours` 是 OpenCV 库中的一个函数,用于从二值图像中查找并提取轮廓。
函数原型如下:
```python
contours, hierarchy = cv2.findContours(image, mode, method[, contours[, hierarchy[, offset]]])
```
其中,参数解释如下:
- `image`:输入的二值图像,要求为 8 位单通道图像。
- `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 链逼近算法。
- `contours`:存储轮廓点的容器,用于存储检测到的轮廓。
- `hierarchy`:存储轮廓层级信息的容器,用于存储轮廓之间的层级关系。
- `offset`:可选的偏移量,用于指定轮廓点的偏移量。
函数返回值:
- `contours`:存储检测到的轮廓点的容器。
- `hierarchy`:存储轮廓层级信息的容器。
阅读全文