本文简要介绍 python 语言中 scipy.ndimage.binary_dilation
的用法。
用法:
scipy.ndimage.binary_dilation(input, structure=None, iterations=1, mask=None, output=None, border_value=0, origin=0, brute_force=False)#
具有给定结构元素的多维二进制膨胀。
- input: array_like
二进制 数组 被扩张。非零 (True) 元素构成要扩张的子集。
- structure: 数组,可选
用于膨胀的结构元素。非零元素被认为是 True。如果没有提供结构元素,则生成一个正方形连通性等于 1 的元素。
- iterations: 整数,可选
膨胀是重复迭代次数(默认情况下为一次)。如果迭代次数小于 1,则重复膨胀,直到结果不再变化。只接受整数次迭代。
- mask: 数组,可选
如果给定掩码,则每次迭代时仅修改在相应掩码元素处具有 True 值的那些元素。
- output: ndarray,可选
与输入形状相同的数组,其中放置输出。默认情况下,会创建一个新数组。
- border_value: int(强制转换为 0 或 1),可选
输出数组中边界处的值。
- origin: int 或整数元组,可选
过滤器的位置,默认为 0。
- brute_force: 布尔值,可选
memory 条件:如果为False,则只跟踪上次迭代中值发生变化的像素作为当前迭代中要更新(扩张)的候选;如果为真,则所有像素都被视为膨胀的候选对象,而不管前一次迭代中发生了什么。默认为假。
- binary_dilation: 布尔数组
结构元素对输入的膨胀。
参数 ::
返回 ::
注意:
膨胀 [1] 是一种数学形态学运算 [2],它使用结构元素来扩展图像中的形状。当结构元素的中心位于图像的非零点内时,结构元素对图像的二进制膨胀是结构元素覆盖的点的轨迹。
参考:
例子:
>>> from scipy import ndimage >>> import numpy as np >>> a = np.zeros((5, 5)) >>> a[2, 2] = 1 >>> a array([[ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]]) >>> ndimage.binary_dilation(a) array([[False, False, False, False, False], [False, False, True, False, False], [False, True, True, True, False], [False, False, True, False, False], [False, False, False, False, False]], dtype=bool) >>> ndimage.binary_dilation(a).astype(a.dtype) array([[ 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 1., 1., 1., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0.]]) >>> # 3x3 structuring element with connectivity 1, used by default >>> struct1 = ndimage.generate_binary_structure(2, 1) >>> struct1 array([[False, True, False], [ True, True, True], [False, True, False]], dtype=bool) >>> # 3x3 structuring element with connectivity 2 >>> struct2 = ndimage.generate_binary_structure(2, 2) >>> struct2 array([[ True, True, True], [ True, True, True], [ True, True, True]], dtype=bool) >>> ndimage.binary_dilation(a, structure=struct1).astype(a.dtype) array([[ 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 1., 1., 1., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0.]]) >>> ndimage.binary_dilation(a, structure=struct2).astype(a.dtype) array([[ 0., 0., 0., 0., 0.], [ 0., 1., 1., 1., 0.], [ 0., 1., 1., 1., 0.], [ 0., 1., 1., 1., 0.], [ 0., 0., 0., 0., 0.]]) >>> ndimage.binary_dilation(a, structure=struct1,\ ... iterations=2).astype(a.dtype) 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.]])
相关用法
- Python SciPy ndimage.binary_opening用法及代码示例
- Python SciPy ndimage.binary_fill_holes用法及代码示例
- Python SciPy ndimage.binary_closing用法及代码示例
- Python SciPy ndimage.binary_hit_or_miss用法及代码示例
- Python SciPy ndimage.binary_erosion用法及代码示例
- Python SciPy ndimage.binary_propagation用法及代码示例
- Python SciPy ndimage.black_tophat用法及代码示例
- Python SciPy ndimage.correlate用法及代码示例
- Python SciPy ndimage.morphological_gradient用法及代码示例
- Python SciPy ndimage.variance用法及代码示例
- Python SciPy ndimage.correlate1d用法及代码示例
- Python SciPy ndimage.distance_transform_bf用法及代码示例
- Python SciPy ndimage.find_objects用法及代码示例
- Python SciPy ndimage.label用法及代码示例
- Python SciPy ndimage.maximum_filter1d用法及代码示例
- Python SciPy ndimage.iterate_structure用法及代码示例
- Python SciPy ndimage.map_coordinates()用法及代码示例
- Python SciPy ndimage.generic_laplace用法及代码示例
- Python SciPy ndimage.generate_binary_structure用法及代码示例
- Python SciPy ndimage.maximum_filter用法及代码示例
- Python SciPy ndimage.minimum_position用法及代码示例
- Python SciPy ndimage.labeled_comprehension用法及代码示例
- Python SciPy ndimage.grey_erosion用法及代码示例
- Python SciPy ndimage.spline_filter用法及代码示例
- Python SciPy ndimage.shift用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.ndimage.binary_dilation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。