【发布时间】:2021-08-01 19:25:25
【问题描述】:
我有那些重叠的轮廓。
现在我可以计算 3 个不同的轮廓,但我需要计算所有重叠的轮廓,所以总共 9 个。如何将所有轮廓彼此分开,以计算正确的数量?我使用 GaussianBlur 和 Canny 进行分割,并使用 cv2.dilate 来加强轮廓。
这里是轮廓的检测,image是加载的灰度图,segment是上面提到的分割后的图像:
(sticks, hierarchy) = cv2.findContours(segment.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
cnt = len(sticks)
rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB )
cv2.drawContours(rgb, sticks, -1, (255, 0, 0), 1)
print(f'Counted bad: {cnt}')
cv2.imshow('img', rgb)
【问题讨论】:
标签: python opencv image-segmentation