(x,y)列表坐标为多个连接像素列表

时间:2015-10-25 16:09:54

标签: python arrays python-2.7 image-processing python-imaging-library

我有一个Python脚本,它使用PIL和HSV颜色空间来检测图像中的所有红色对象。 in action

它可以在图像中输出看起来像[(x,y),(x,y),(x,y), etc.]

的红色像素列表

使用此列表,我可以找到[sum(list(x))/len(list(x)) for x in zip(*list)]

的所有红色像素的中心

我想要做的是找到所有红色物体的相应中心(垃圾桶的中心和文件夹的中心)。为此,我想要一种有效的方法将列表分成多个列表,每个列表对应一个固体对象。然后,我可以采用这些列表并排除少于20像素的列表,以解决断开连接的颜色斑点。

如何最好地将(x,y)坐标列表分成多个连接像素列表?

注意:我没有scipyOpenCVscikit-image可用。我有PILNumpy

1 个答案:

答案 0 :(得分:1)

我最终只是使用breadth-first search来填充该区域。在这种情况下,depth-first search也会起作用。