这段代码展示了如何使用OpenCV库在Python中识别图像轮廓。

首先,代码使用 img_copy = img.copy() 将原始图像复制一份。

接着,利用 cv2.findContours(dilate, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 函数找到图像中的轮廓。该函数接收一个二值图像 dilate 作为参数,并返回两个结果:

  • contours: 包含所有轮廓的列表,每个轮廓是一个 N×1×2 的数组,表示轮廓的点坐标。
  • hierarchy: 轮廓的层级关系,用于理解轮廓之间的嵌套关系。

然后,代码使用 cv2.drawContours(img_copy, contours, -1, (255, 0, 255), 2) 函数将找到的轮廓画在复制的图像 img_copy 上。该函数接收以下参数:

  • img_copy: 要绘制轮廓的图像。
  • contours: 轮廓列表。
  • -1: 表示绘制所有轮廓。
  • (255, 0, 255): 轮廓的颜色,这里是 magenta。
  • 2: 轮廓的线条宽度。

最后,可以使用 plt.imshow(img_copy, 'gray'), plt.axis('off'), plt.title('Contours'), plt.show() 显示带有轮廓的图像。该代码片段展示了如何使用Matplotlib库显示图像。

OpenCV轮廓检测:使用Python代码识别图像轮廓

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

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