cv2.findContours
时间: 2023-07-02 14:08:17 浏览: 39
`cv2.findContours()` 是一个用于在二进制图像中查找轮廓的函数。它接受一个二进制图像作为输入,并返回一个轮廓列表和层次结构。该函数可以用于图像分割、形状匹配、物体检测等应用。
使用方法如下:
```
contours, hierarchy = cv2.findContours(image, mode, method)
```
其中,`image` 是二进制图像,`mode` 是轮廓检测模式,`method` 是轮廓逼近方法。`contours` 是包含所有轮廓的列表,每个轮廓是一个包含点坐标的 numpy 数组。`hierarchy` 是层次结构数组,用于描述轮廓之间的关系。
轮廓检测模式有以下几种:
- `cv2.RETR_EXTERNAL`:只检测外部轮廓。
- `cv2.RETR_LIST`:检测所有轮廓,不建立轮廓间的层次关系。
- `cv2.RETR_CCOMP`:检测所有轮廓,建立两层层次结构。
- `cv2.RETR_TREE`:检测所有轮廓,建立完整的层次结构树。
轮廓逼近方法有以下几种:
- `cv2.CHAIN_APPROX_NONE`:保存所有的轮廓点。
- `cv2.CHAIN_APPROX_SIMPLE`:仅保存轮廓的端点。
- `cv2.CHAIN_APPROX_TC89_L1`和`cv2.CHAIN_APPROX_TC89_KCOS`:使用 Teh-Chinl 标准的链式逼近算法。
相关问题
cv2. findContours
cv2.findContours是OpenCV中的一个函数,用于在图像中查找轮廓。它可以通过图像的边缘信息来检测对象或形状的轮廓。
该函数的语法如下:
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、cv2.CHAIN_APPROX_TC89_KCOS:应用Teh-Chin链逼近算法。
函数返回两个值:
- contours:检测到的轮廓,每个轮廓由一系列点组成(以numpy数组表示)。
- hierarchy:轮廓的层次结构,可以用于解释轮廓之间的关系(如父子关系等)。
cv2.findcontours
cv2.findContours 是 OpenCV 中用于查找图像中轮廓的函数。它接受原始图像、轮廓查找模式和轮廓逼近方法作为输入,并返回图像中所有轮廓的列表。在查找轮廓之前,通常需要对输入图像进行二值化处理,以便只保留感兴趣的目标区域。
例如,可以使用以下代码查找一张图像中的所有轮廓:
```
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行二值化处理
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(img, contours, -1, (0, 255, 0), 3)
# 显示结果
cv2.imshow('Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先读取一张图像,将其转换为灰度图像,然后对其进行二值化处理。接下来,使用 cv2.findContours 函数查找轮廓,其中轮廓查找模式为 cv2.RETR_TREE,轮廓逼近方法为 cv2.CHAIN_APPROX_SIMPLE。最后,我们使用 cv2.drawContours 函数在原始图像上绘制所有轮廓,并将结果显示出来。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)