drawContours 绘制全部轮廓
时间: 2024-06-12 14:02:02 浏览: 120
提供轮廓拓扑结信息(hierarchy)且contourIdx的值为-1时函数drawContours()是按怎样的规律绘制轮廓
5星 · 资源好评率100%
drawContours是OpenCV中用于绘制轮廓的函数,它可以绘制所有的轮廓或指定的轮廓。函数原型如下:
```python
cv2.drawContours(image, contours, contourIdx, color, thickness, lineType, hierarchy, maxLevel, offset)
```
其中参数含义如下:
- image:要绘制轮廓的图像;
- contours:所有轮廓点的列表,每个轮廓由点的列表表示;
- contourIdx:要绘制的轮廓的索引,如果为负数,则绘制所有轮廓;
- color:绘制轮廓的颜色;
- thickness:绘制轮廓的线宽,如果为负数或CV_FILLED,则填充轮廓;
- lineType:线条类型;
- hierarchy:轮廓的层级结构;
- maxLevel:要绘制的最大层级,如果为0,则绘制所有层级;
- offset:偏移量。
如果contourIdx参数为负数,则会绘制所有的轮廓。示例代码如下:
```python
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()
```
阅读全文