gpt4 book ai didi

opencv - 当我只绘制更大的轮廓对象时,Python Opencv drawContours 失败

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:09 25 4
gpt4 key购买 nike

我正在尝试绘制最大物体的轮廓。

首先,我将展示一张绘制所有轮廓的图像:

All contours objects

为了找到最大的对象,我使用了这段代码:

maxsize = 0  
best = 0
count = 0
for cnt in contours:
if cv2.contourArea(cnt) > maxsize:
maxsize = cv2.contourArea(cnt)
best = count
count += 1

cv2.drawContours(img_rgb, contours[best], -1, (0,0,255), 2)

结果是下一个: Contours of biggest object

为什么等高线没有连接起来?

提前致谢。

最佳答案

请注意,在您的代码中,您通过 -1 参数告诉函数绘制所有轮廓,而实际上您只想绘制最佳 轮廓。因此,您可以简单地要求函数绘制您想要的轮廓,而不是 -1 (全部)。

您可以通过替换以下行来解决此问题:

cv2.drawContours(img_rgb, contours[best], -1, (0,0,255), 2)  

与:

cv2.drawContours(img_rgb, contours, best, (0,0,255), 2)

或者您仍然可以使用 -1,但是您将需要一组点 ([]) 作为参数:

cv2.drawContours(img_rgb, [contours[best]], -1, (0,0,255), 2)  

您可以在 OpenCV Docs page 中获得有关此主题的更多信息

关于opencv - 当我只绘制更大的轮廓对象时,Python Opencv drawContours 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com