1

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

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

我可以使用numpyand 也scipy

我已经尝试遍历所有像素并创建像素集并在旧集中填充新像素(或创建新集)。不幸的是,实施很差,非常有问题,而且速度也很慢。

希望这样的事情已经存在,或者有一种简单的方法可以做到这一点?

非常感谢你

4

1 回答 1

2

在我看来,这正是使用 scipy.ndimage.measurements.label 和 scipy.ndimage.measurements.find_objects 可以做到的

您必须指定“触摸”的含义。如果这意味着边缘共享,那么 ndimage.measurements.label 的默认结构就是您需要的结构,因此您只需要传递您的数组。如果触摸也意味着角共享,您将在文档字符串中找到正确的结构。

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

于 2016-09-12T09:52:48.757 回答