我想做的是在夜间地球照片中找到大光污染区域。我将源照片转换为灰度,然后转换为具有阈值的二进制照片。 cv2.findcontours工作正常,但当我试图摆脱小轮廓时,它只删除其中的一部分。
"."
正如您所看到的,仍有许多小型轻度污染区域的轮廓。我该怎样摆脱它们?
答案 0 :(得分:0)
我认为问题出在for的pop中:当你弹出轮廓时,你正在跳过下一个轮廓。
例如,如果你弹出轮廓号10,那么下一个countour将变为10号,但你会跳过它,因为在下一次迭代中你会看到轮廓11。
我不是python专家(我不知道如何在for中使用这两个变量)但是你可以尝试在pop之后做一个counter = counter-1。另一种选择是向后迭代列表(从最后一个元素开始并在第一个元素完成)