OpenCV Python: 使用 drawContours 函数绘制轮廓
使用 OpenCV Python 绘制图像轮廓
本教程将向您展示如何在 OpenCV Python 中使用 drawContours 函数绘制图像的轮廓。
步骤:
- 加载图像: 使用
cv2.imread()函数加载图像。 - 获取轮廓: 使用
cv2.findContours()函数获取图像的轮廓列表。 - 绘制轮廓: 使用
cv2.drawContours()函数绘制轮廓。
代码示例:
import cv2
# 读取图片
img = cv2.imread('test.jpg')
img0 = img.copy()
# 得到轮廓列表
contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
n = len(contours)
print('n =', n)
# 绘制轮廓
for i in range(1, n, 1):
img0 = cv2.drawContours(img0, contours, i, (0, 255, 0), -1)
cv2.waitKey(200)
cv2.imshow('contours', img0)
cv2.waitKey(0)
cv2.destroyAllWindows()
解释:
cv2.findContours()函数返回两个参数:轮廓列表contours和层次结构hierarchy。cv2.drawContours()函数接受四个参数:img: 目标图像contours: 轮廓列表i: 要绘制的轮廓索引(0, 255, 0): 绘制颜色,这里使用绿色-1: 填充轮廓
cv2.waitKey(200)和cv2.imshow('contours', img0)用于显示绘制结果。
注意:
- 确保将
test.jpg替换为您的图像文件路径。 - 可以根据需要更改绘制颜色和填充方式。
总结:
本教程展示了如何在 OpenCV Python 中使用 drawContours 函数绘制图像的轮廓。您可以使用此方法来突出显示图像中的不同形状或区域。
原文地址: https://www.cveoy.top/t/topic/mRgg 著作权归作者所有。请勿转载和采集!