cv2.drawContours python
时间: 2024-09-15 08:00:35 浏览: 95
在OpenCV(cv2库)中,`cv2.drawContours()`函数用于在图像上绘制轮廓。这个函数通常用于图像处理,特别是在形状检测、物体识别等应用中。它的基本语法如下:
```python
cv2.drawContours(image, contours, contourIdx, color, thickness, lineType=None, shift=(-1,-1))
```
参数解释:
- `image`: 你要在上面绘图的目标图像,通常是BGR格式的。
- `contours`: 是一个轮廓列表,每个轮廓都是一个由点组成的numpy数组,表示对象的边界。
- `contourIdx` (可选): 要绘制的具体轮廓索引。如果不指定,函数会尝试绘制所有轮廓。
- `color`: 用于填充轮廓的颜色,可以是RGB或BGR颜色元组。
- `thickness` (可选): 绘制轮廓线条的宽度,默认为1。
- `lineType` (可选): 线条风格,如cv2.LINE_AA(抗锯齿线型),默认为8(实线)。
- `shift` (可选): 指定轮廓像素坐标系相对于原坐标系的偏移,通常用于反向渲染(reverse rendering)。
示例:
```python
img = ... # 你的原始图片
contours = ... # 从图像中检测到的轮廓列表
color = (0, 255, 0) # 绿色轮廓
cv2.drawContours(img, contours, -1, color, 2) # -1表示绘制所有的轮廓
cv2.imshow("Image with Contours", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,`-1`作为`contourIdx`表示画出所有的轮廓。
阅读全文