scipy.ndimage.

iterate_structure#

scipy.ndimage.iterate_structure(structure, iterations, origin=None)[source]#

通过自身膨胀来迭代结构。

参数:
structurearray_like

结构元素(例如,布尔值的数组),将用自身进行膨胀。

iterationsint

对结构自身进行膨胀的次数

origin可选

如果 origin 为 None,则只返回迭代后的结构。否则,返回迭代后的结构和修改后的 origin 的元组。

返回值:
iterate_structure布尔值的 ndarray

通过将 structure (iterations - 1) 次自身膨胀得到的新结构元素。

示例

>>> from scipy import ndimage
>>> struct = ndimage.generate_binary_structure(2, 1)
>>> struct.astype(int)
array([[0, 1, 0],
       [1, 1, 1],
       [0, 1, 0]])
>>> ndimage.iterate_structure(struct, 2).astype(int)
array([[0, 0, 1, 0, 0],
       [0, 1, 1, 1, 0],
       [1, 1, 1, 1, 1],
       [0, 1, 1, 1, 0],
       [0, 0, 1, 0, 0]])
>>> ndimage.iterate_structure(struct, 3).astype(int)
array([[0, 0, 0, 1, 0, 0, 0],
       [0, 0, 1, 1, 1, 0, 0],
       [0, 1, 1, 1, 1, 1, 0],
       [1, 1, 1, 1, 1, 1, 1],
       [0, 1, 1, 1, 1, 1, 0],
       [0, 0, 1, 1, 1, 0, 0],
       [0, 0, 0, 1, 0, 0, 0]])