cv2.drawContours绘制轮廓怎样设置轮廓宽度
时间: 2023-10-14 19:09:29 浏览: 72
在使用`cv2.drawContours`绘制轮廓时,可以通过设置`thickness`参数来控制轮廓的宽度。例如:
```python
import cv2
# 读取图像并转为灰度图像
img = cv2.imread('contours.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 寻找轮廓
contours, hierarchy = cv2.findContours(gray, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(img, contours, -1, (0, 255, 0), thickness=2)
# 显示图像
cv2.imshow('Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的示例代码中,`thickness`参数设置为2,表示轮廓线的宽度为2个像素。可以根据需要调整该参数的值来控制轮廓线的粗细。
相关问题
cv2.drawContours(img, [c], -1, (0, 0, 255), 2)什么意思
### 回答1:
这段代码使用OpenCV中的drawContours函数在图像上绘制轮廓。其中,img是要绘制轮廓的图像,[c]是表示要绘制的轮廓列表,-1表示所有的轮廓都要绘制,(0, 0, 255)表示轮廓颜色为蓝色,2表示绘制轮廓的线条宽度为2像素。
### 回答2:
cv2.drawContours是OpenCV库中的一个函数,用于绘制轮廓。它可以在图像上绘制指定的轮廓。
参数img是要在其上绘制轮廓的图像。
参数[c]是一个由轮廓点组成的列表,用于指定要绘制的轮廓。
参数-1表示绘制所有的轮廓。
(0, 0, 255)是绘制轮廓的颜色,这里表示绘制红色轮廓。
参数2表示绘制的轮廓的线宽为2。
所以,cv2.drawContours(img, [c], -1, (0, 0, 255), 2)的意思是在图像img上绘制红色的轮廓c,线宽为2。
### 回答3:
cv2.drawContours(img, [c], -1, (0, 0, 255), 2)这行代码的意思是在一个图片上绘制轮廓。
参数解释如下:
- img:要绘制轮廓的图片。
- [c]:一个包含轮廓点的列表,这个参数需要使用方括号括起来表示。
- -1:表示绘制所有的轮廓。
- (0, 0, 255):用于绘制轮廓的颜色,这里是红色。参数是一个包含三个整数的元组,分别代表红、绿、蓝三个通道的颜色强度。
- 2:表示轮廓的线宽为2个像素。
综上所述,这行代码的作用是在指定的图片上绘制轮廓,轮廓的颜色为红色,线宽为2个像素。
contours = sorted(contours, key=cv2.contourArea, reverse=True)[:2] cv2.drawContours(image, contours, -1, (0, 0, 255), 3) cv2.imshow('Result', image)
这段代码的作用是在图像中找到最大的两个轮廓并进行绘制。首先使用 `cv2.findContours()` 函数找到所有轮廓,然后使用 `sorted()` 函数按照轮廓面积从大到小对轮廓进行排序,取前两个作为最大的两个轮廓。接着使用 `cv2.drawContours()` 函数将这两个轮廓绘制到原图像上,并显示结果。其中 `(0, 0, 255)` 是绘制轮廓的颜色,`3` 是轮廓线宽度。
阅读全文