我有一个二维numpy数组,其中一些值为零,一些不是。我尝试找到一种有效的方法来查找该数组中最大的零簇(通过返回零的数量以及大致的中心位置)。
例如,在此数组中,我想找到具有9个元素的零簇,并确定其中心位置为(3,4):
例如,在此数组中,我想找到具有9个元素的零簇,并确定其中心位置为(3,4):
[[ 1, 1, 1, 0, 0 ],
[ 1, 0, 1, 1, 0 ],
[ 1, 1, 1, 1, 1 ],
[ 1, 1, 0, 0, 0 ],
[ 1, 1, 0, 0, 0 ],
[ 1, 1, 0, 0, 0 ]]
有没有一种好的向量化方法来在numpy或scipy中完成类似这样的操作?
这些聚团大致上是圆形的,而且内部没有孔。
scipy中的ndimage.label()可以实现类似功能,但并不完全符合我的需求。我觉得numpy.where()和numpy.diff()可能会有帮助,但不确定如何有效地使用它们来解决这个问题。