opencv findcoutonrs()函数介绍
时间: 2023-07-01 16:14:01 浏览: 76
`findContours()` 是 OpenCV 中的一个图像处理函数,用于查找图像中的轮廓(contours)。轮廓是图像中连续的边界线,可以用于图像分割、目标检测等方面。
函数原型为:
```python
contours, hierarchy = cv.findContours(image, mode, method[, contours[, hierarchy[, offset]]])
```
其中参数含义如下:
- `image`:输入图像,必须为单通道灰度图像,且为二值化后的图像。
- `mode`:轮廓检索模式,可选值有:
- `cv.RETR_EXTERNAL`:只检测最外层轮廓。
- `cv.RETR_LIST`:检测所有轮廓,但不建立轮廓之间的父子关系。
- `cv.RETR_CCOMP`:检测所有轮廓,建立两层轮廓之间的父子关系。
- `cv.RETR_TREE`:检测所有轮廓,建立完整的轮廓层级结构。
- `method`:轮廓逼近方法,可选值有:
- `cv.CHAIN_APPROX_NONE`:存储所有边界点。
- `cv.CHAIN_APPROX_SIMPLE`:仅存储水平、垂直、对角线方向的边界点。
- `cv.CHAIN_APPROX_TC89_L1`和`cv.CHAIN_APPROX_TC89_KCOS`:使用 Teo-Kim 算法进行边界点逼近。
- `contours`:输出参数,保存检测到的轮廓。
- `hierarchy`:输出参数,保存轮廓的层级结构。
- `offset`:可选参数,用于轮廓点坐标的偏移。
注意:在 OpenCV 3.x 和 4.x 版本中,`findContours()` 函数返回两个值,而在 OpenCV 2.x 版本中只返回一个值。
示例代码:
```python
import cv2 as cv
# 读取灰度图像
img = cv.imread("test.jpg", 0)
# 二值化处理
ret, thresh = cv.threshold(img, 127, 255, cv.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv.drawContours(img, contours, -1, (0, 0, 255), 2)
# 显示原图和处理结果
cv.imshow("Original Image", img)
cv.imshow("Threshold Image", thresh)
cv.waitKey(0)
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)