本文简要介绍 python 语言中 scipy.ndimage.generate_binary_structure
的用法。
用法:
scipy.ndimage.generate_binary_structure(rank, connectivity)#
为二元形态学运算生成二元结构。
- rank: int
将应用结构元素的数组的维数,由 np.ndim 返回。
- connectivity: int
连通性确定输出数组的哪些元素属于该结构,即被视为中心元素的邻居。从中心到连接平方距离的元素被认为是邻居。连通性的范围可以从 1(没有对角元素是邻居)到排名(所有元素都是邻居)。
- output: 布尔数组
可用于二元形态学运算的结构元素,秩维度和所有维度都等于 3。
参数 ::
返回 ::
注意:
generate_binary_structure
只能创建维度等于 3(即最小维度)的结构元素。对于较大的结构元素,例如,对于侵蚀大型对象,可以使用iterate_structure
,或者使用 numpy 函数(例如numpy.ones
)直接创建自定义数组。例子:
>>> from scipy import ndimage >>> import numpy as np >>> struct = ndimage.generate_binary_structure(2, 1) >>> struct array([[False, True, False], [ True, True, True], [False, True, False]], dtype=bool) >>> 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.]]) >>> b = ndimage.binary_dilation(a, structure=struct).astype(a.dtype) >>> b 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(b, structure=struct).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.]]) >>> struct = ndimage.generate_binary_structure(2, 2) >>> struct array([[ True, True, True], [ True, True, True], [ True, True, True]], dtype=bool) >>> struct = ndimage.generate_binary_structure(3, 1) >>> struct # no diagonal elements array([[[False, False, False], [False, True, False], [False, False, False]], [[False, True, False], [ True, True, True], [False, True, False]], [[False, False, False], [False, True, False], [False, False, False]]], dtype=bool)
相关用法
- Python SciPy ndimage.generic_laplace用法及代码示例
- Python SciPy ndimage.generic_filter1d用法及代码示例
- Python SciPy ndimage.generic_gradient_magnitude用法及代码示例
- Python SciPy ndimage.generic_filter用法及代码示例
- Python SciPy ndimage.geometric_transform用法及代码示例
- Python SciPy ndimage.grey_erosion用法及代码示例
- Python SciPy ndimage.gaussian_laplace用法及代码示例
- Python SciPy ndimage.grey_closing用法及代码示例
- Python SciPy ndimage.gaussian_filter1d用法及代码示例
- Python SciPy ndimage.gaussian_filter用法及代码示例
- Python SciPy ndimage.grey_opening用法及代码示例
- Python SciPy ndimage.gaussian_gradient_magnitude用法及代码示例
- Python SciPy ndimage.grey_dilation用法及代码示例
- Python SciPy ndimage.correlate用法及代码示例
- Python SciPy ndimage.morphological_gradient用法及代码示例
- Python SciPy ndimage.variance用法及代码示例
- Python SciPy ndimage.correlate1d用法及代码示例
- Python SciPy ndimage.binary_dilation用法及代码示例
- 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.binary_opening用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.ndimage.generate_binary_structure。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。