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


Python SciPy ndimage.binary_opening用法及代码示例


本文简要介绍 python 语言中 scipy.ndimage.binary_opening 的用法。

用法:

scipy.ndimage.binary_opening(input, structure=None, iterations=1, output=None, origin=0, mask=None, border_value=0, brute_force=False)#

具有给定结构元素的多维二进制打开。

结构元素对输入图像的打开是结构元素对图像的腐蚀的膨胀。

参数

input array_like

要打开的二进制数组。非零 (True) 元素构成要打开的子集。

structure 数组,可选

用于开口的结构元素。非零元素被认为是 True。如果没有提供结构元素,则生成一个正方形连通性等于 1 的元素(即,只有最近的邻居连接到中心,diagonally-connected 元素不被视为邻居)。

iterations 整数,可选

开孔的腐蚀步骤,然后是膨胀步骤都是重复的迭代次数(默认为一次)。如果迭代次数小于 1,则重复每个操作,直到结果不再变化。只接受整数次迭代。

output ndarray,可选

与输入形状相同的数组,其中放置输出。默认情况下,会创建一个新数组。

origin int 或整数元组,可选

过滤器的位置,默认为 0。

mask 数组,可选

如果给定掩码,则每次迭代时仅修改在相应掩码元素处具有 True 值的那些元素。

border_value int(强制转换为 0 或 1),可选

输出数组中边界处的值。

brute_force 布尔值,可选

memory 条件:如果为False,则只跟踪上次迭代中值发生变化的像素作为本次迭代更新的候选;如果为真,则所有像素都被视为更新的候选对象,而不管前一次迭代中发生了什么。默认为假。

返回

binary_opening 布尔数组

通过结构元素打开输入。

注意

开幕式 [1]是数学形态学运算[2]这包括具有相同结构元素的输入的腐蚀和膨胀的连续性。因此,打开会删除小于结构元素的对象。

和...一起关闭(scipy.ndimage.binary_closing),开口可用于去噪。

参考

例子

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.zeros((5,5), dtype=int)
>>> a[1:4, 1:4] = 1; a[4, 4] = 1
>>> a
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, 1]])
>>> # Opening removes small objects
>>> ndimage.binary_opening(a, structure=np.ones((3,3))).astype(int)
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]])
>>> # Opening can also smooth corners
>>> ndimage.binary_opening(a).astype(int)
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]])
>>> # Opening is the dilation of the erosion of the input
>>> ndimage.binary_erosion(a).astype(int)
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(ndimage.binary_erosion(a)).astype(int)
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]])

相关用法


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