当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python skimage.morphology.remove_small_holes用法及代码示例


用法:

skimage.morphology.remove_small_holes(ar, area_threshold=64, connectivity=1, in_place=False, *, out=None)

删除小于指定尺寸的连续孔。

参数

arndarray(任意形状,int 或 bool 类型)

包含感兴趣的连接组件的数组。

area_thresholdint 可选(默认值:64)

将被填充的连续孔的最大面积(以像素为单位)。替换min_size。

connectivityint {1, 2, ..., ar.ndim},可选(默认值:1)

定义像素邻域的连通性。

in_place布尔值,可选(默认值:False)

如果为 True,则删除输入数组本身中的连接组件。否则,请制作副本。自 0.19 版起已弃用。请改用 out。

outndarray

与 ar 和 bool dtype 形状相同的数组,用于放置输出。默认情况下,会创建一个新数组。

返回

outndarray,与输入相同的形状和类型阿尔

已移除连接组件内带有小孔的输入数组。

抛出

TypeError

如果输入数组的类型无效,例如浮点数或字符串。

ValueError

如果输入数组包含负值。

注意

如果数组类型是int,则假定它包含already-labeled 对象。标签不保留在输出图像中(此函数始终输出布尔图像)。建议使用该函数后完成贴标。

例子

>>> from skimage import morphology
>>> a = np.array([[1, 1, 1, 1, 1, 0],
...               [1, 1, 1, 0, 1, 0],
...               [1, 0, 0, 1, 1, 0],
...               [1, 1, 1, 1, 1, 0]], bool)
>>> b = morphology.remove_small_holes(a, 2)
>>> b
array([[ True,  True,  True,  True,  True, False],
       [ True,  True,  True,  True,  True, False],
       [ True, False, False,  True,  True, False],
       [ True,  True,  True,  True,  True, False]])
>>> c = morphology.remove_small_holes(a, 2, connectivity=2)
>>> c
array([[ True,  True,  True,  True,  True, False],
       [ True,  True,  True, False,  True, False],
       [ True, False, False,  True,  True, False],
       [ True,  True,  True,  True,  True, False]])
>>> d = morphology.remove_small_holes(a, 2, out=a)
>>> d is a
True

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.morphology.remove_small_holes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。