如何让cv2.findContours返回的结果画出轮廓图
时间: 2024-05-17 09:10:48 浏览: 87
要让 `cv2.findContours()` 返回的结果画出轮廓图,可以使用 `cv2.drawContours()` 函数来实现。该函数可以将轮廓线画在指定的图像上。
具体步骤如下:
1. 调用 `cv2.findContours()` 函数,获取轮廓信息。
2. 创建一个空白的图像,并将其设置为和原始图像相同的大小和通道数。
3. 调用 `cv2.drawContours()` 函数,在空白图像上画出轮廓线。
4. 显示或保存画出轮廓线的图像。
以下是示例代码:
```python
import cv2
# 读取原始图像
img = cv2.imread('example.png')
# 转为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, thresh = cv2.threshold(gray, 127, 255, 0)
# 获取轮廓信息
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 创建空白图像
contour_img = np.zeros_like(img)
# 画出轮廓线
cv2.drawContours(contour_img, contours, -1, (0, 255, 0), 3)
# 显示画出轮廓线的图像
cv2.imshow('Contours', contour_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文