cv2.findContours的参数以及返回值
时间: 2023-10-14 19:09:09 浏览: 160
cv2.findContours() 是 OpenCV 中用于在二值图像中查找轮廓的函数。它的语法如下:
```
contours, hierarchy = cv2.findContours(image, mode, method, offset)
```
其中,参数含义如下:
- `image`:输入二值图像,要求为灰度图像,即只有 0 和 255 两种像素值。
- `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`、`cv2.CHAIN_APPROX_TC89_KCOS`:使用 Tang-Chen 算法进行逼近。
- `offset`:可选参数,表示轮廓坐标点的偏移量。
返回值:
- `contours`:检测到的轮廓,是一个包含所有轮廓的列表,每个轮廓由一组点坐标表示;
- `hierarchy`:轮廓之间的层次关系,是一个包含每个轮廓的父子关系、前后关系等信息的列表。
阅读全文