cv2.fnidContours
时间: 2023-08-14 12:13:35 浏览: 76
cv2.findContours() 是 OpenCV 中的一个函数,用于找到图像中的轮廓。它的语法如下:
```python
contours, hierarchy = cv2.findContours(image, mode, method)
```
- `image`:输入的二值图像(通常为灰度图像或二值化图像)。
- `mode`:轮廓检索模式,指定轮廓的层级关系。常用的模式有 `cv2.RETR_EXTERNAL`(只检索外部轮廓)和 `cv2.RETR_TREE`(检索所有轮廓并创建完整的层级结构)等。
- `method`:轮廓逼近方法。常用的方法有 `cv2.CHAIN_APPROX_SIMPLE`(压缩水平、垂直和对角线段,只保留其端点)和 `cv2.CHAIN_APPROX_NONE`(保留所有的轮廓点)等。
函数返回两个值:
- `contours`:检测到的轮廓,以 numpy 数组的形式存储。
- `hierarchy`:图像中轮廓的层级关系,以 numpy 数组的形式存储。
例如,可以使用以下代码来找到图像中的轮廓:
```python
import cv2
image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
```
这样就可以通过 `contours` 变量获取到检测到的轮廓的信息了。
阅读全文