OpenCV轮廓检测:使用Python代码识别图像轮廓
这段代码展示了如何使用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库显示图像。
原文地址: http://www.cveoy.top/t/topic/lO1o 著作权归作者所有。请勿转载和采集!