1. 图中编号分别是 1、2、3、4、5、6、7。

  2. hierarchy 是一个四维数组,每个轮廓对应一组四个值:[next, previous, first_child, parent]。其中,next 表示同级下一个轮廓的索引,previous 表示同级上一个轮廓的索引,first_child 表示第一个子轮廓的索引,parent 表示父轮廓的索引。如果一个轮廓没有对应的值,则为负数。

  3. 代码如下:

import cv2

img = cv2.imread('image.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

cv2.drawContours(img, contours, 0, (127, 127, 127), -1)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

其中,cv2.drawContours() 函数用于绘制轮廓,第一个参数是要绘制轮廓的图像,第二个参数是轮廓列表,第三个参数是要填充的轮廓索引,第四个参数是要填充的颜色,第五个参数是轮廓线条的宽度。

Python OpenCV 轮廓识别:编号、hierarchy 解释及填充示例

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

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