findcontours函数
时间: 2023-10-08 08:07:59 浏览: 58
test_findcontours_findcontours测试代码_
在OpenCV中,`findContours()`函数用于在二值图像中查找轮廓。它采用二进制图像作为输入,找到所有的轮廓并返回一个轮廓的列表。该函数的语法如下:
```
cv2.findContours(image, mode, method[, contours[, hierarchy[, offset]]])
```
其中,参数说明如下:
- `image`: 输入的二值图像。
- `mode`: 轮廓检索模式。有四种模式可选择,分别为 `cv2.RETR_EXTERNAL`、`cv2.RETR_LIST`、`cv2.RETR_CCOMP` 和 `cv2.RETR_TREE`。默认为 `cv2.RETR_EXTERNAL`。
- `method`: 轮廓逼近方法。有三种方法可选择,分别为 `cv2.CHAIN_APPROX_NONE`、`cv2.CHAIN_APPROX_SIMPLE` 和 `cv2.CHAIN_APPROX_TC89_L1`。默认为 `cv2.CHAIN_APPROX_NONE`。
- `contours`: 轮廓列表。如果不为空,则表示在函数执行前已经找到了轮廓,此时函数会继续在输入图像中查找轮廓并将其添加到列表中。
- `hierarchy`: 轮廓层级信息。默认为 `None`,表示不需要层级信息。
- `offset`: 偏移量。默认为 `(0, 0)`。
函数返回值为一个元组 `(contours, hierarchy)`,其中 `contours` 表示找到的轮廓列表,`hierarchy` 表示每个轮廓的层级关系。
阅读全文