中文 opencv drawContours
时间: 2023-09-15 15:21:48 浏览: 85
OpenCV 的 drawContours 函数可以用来绘制轮廓。
语法:
```python
cv2.drawContours(image, contours, contourIdx, color, thickness=None, lineType=None, hierarchy=None, maxLevel=None, offset=None)
```
参数说明:
- image:需要绘制轮廓的原始图像。
- contours:轮廓信息,可以使用 findContours 函数得到。
- contourIdx:表示要绘制的轮廓的索引,-1 表示绘制所有轮廓。
- color:轮廓的颜色,可以是一个 RGB 或 BGR 颜色元组,例如 (0, 255, 0) 表示绿色。
- thickness:轮廓线的粗细,默认值为 1。
- lineType:轮廓线的类型,可以是 cv2.LINE_8 或 cv2.LINE_AA,默认值为 cv2.LINE_8。
- hierarchy:轮廓的层级关系,可以使用 findContours 函数得到。
- maxLevel:表示绘制轮廓的最大层级,如果为 0,表示只绘制当前轮廓,如果为 1,表示绘制当前轮廓和其直接子级轮廓,以此类推。
- offset:表示绘制轮廓时的偏移量,可以为负数。
示例代码:
```python
import cv2
# 读取图像
image = cv2.imread('contours.png')
# 转为灰度图像
gray = cv2.cvtColor(image, 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(image, contours, -1, (0, 255, 0), 2)
# 显示图像
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行结果:
![drawContours](https://img-blog.csdn.net/20180527115737399)
阅读全文