findcontours函数
时间: 2023-10-08 13:09:46 浏览: 34
findContours函数是OpenCV中的一个函数,用于在二值图像中查找轮廓。该函数将输入的二值图像作为参数,然后在图像中查找所有的连通区域,即轮廓,返回一个包含所有轮廓信息的向量。
语法格式如下:
```python
cv2.findContours(image, mode, method[, contours[, hierarchy[, offset]]])
```
其中,各参数的含义如下:
- image:要查找轮廓的二值图像,应为灰度图像。
- mode:轮廓查找模式,有三种可选模式:
- cv2.RETR_EXTERNAL:只检测最外层轮廓。
- cv2.RETR_LIST:检测所有轮廓,但不建立轮廓间的父子关系。
- 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:返回的轮廓信息,为一个向量,其中每个元素都是一个轮廓(即点的坐标)。
- hierarchy:可选输出参数,包含轮廓层次结构信息。
- offset:可选偏移量参数,用于指定轮廓中所有点的偏移量。
示例代码:
```python
import cv2
# 读取图像并转换为灰度图像
img = cv2.imread('contours.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, 0, 255), 2)
# 显示图像
cv2.imshow('Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
该示例代码实现了对一幅图像中的轮廓进行查找和绘制,并将结果显示出来。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](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)