如何找到十个最大的轮廓?

时间:2018-01-30 17:11:05

标签: python opencv find contour area

我是OpenCV的新手,我不太了解我在做什么。 我正在寻找地球黑暗面照片中十个最大的光污染区域。 在我找到每个光污染区域的轮廓后,如何创建具有十个最大轮廓的变量? 我试过了

biggest_contours=(0,0,0,0,0,0,0,0,0,0)
for enum,contour in enumerate(contours):
    for item in biggest_contours:
        if cv2.contourArea(contours[enum])>cv2.contourArea(contours[item]):
            biggest_contours[item]=enum

但它返回" TypeError:' tuple'对象不支持项目分配"

1 个答案:

答案 0 :(得分:0)

为什么不按区域排序轮廓并保留最后10个?

largest_contours = sorted(contours, key=cv2.contourArea)[-10:]