使用 OpenCV Python 绘制图像轮廓

本教程将向您展示如何在 OpenCV Python 中使用 drawContours 函数绘制图像的轮廓。

步骤:

  1. 加载图像: 使用 cv2.imread() 函数加载图像。
  2. 获取轮廓: 使用 cv2.findContours() 函数获取图像的轮廓列表。
  3. 绘制轮廓: 使用 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 函数绘制图像的轮廓。您可以使用此方法来突出显示图像中的不同形状或区域。

OpenCV Python: 使用 drawContours 函数绘制轮廓

原文地址: https://www.cveoy.top/t/topic/mRgg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录