Python:二进制图像分割

时间:2016-09-12 08:34:32

标签: python-2.7 image-segmentation binary-image

有没有一种简单的方法可以在python中实现分割二进制图像

我的2d - "图像"是numpy数组。使用的值为1.00.0。我需要一个值为1.0的所有对象的列表。每个黑色像素都是对象的像素。对象可能包含许多值为1.0的触摸像素。

我可以使用numpyscipy

我已经尝试迭代所有像素并创建像素集并在旧集合中填充新像素(或创建新集合)。不幸的是,实施很差,非常多,而且非常慢。

这样的东西已经存在,或者有一种简单的方法可以做到这一点?

非常感谢

1 个答案:

答案 0 :(得分:1)

在我看来,这正是使用scipy.ndimage.measurements.label和scipy.ndimage.measurements.find_objects

可以做到的。

你必须指明"触摸"手段。如果它意味着边缘共享,那么ndimage.measurements.label的默认结构就是你需要的,所以你只需要传递你的数组。如果触摸也意味着角落共享,您将在文档字符串中找到正确的结构。

然后,

find_objects可以生成对象的切片列表。