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


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


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

用法:

scipy.ndimage.binary_hit_or_miss(input, structure1=None, structure2=None, output=None, origin1=0, origin2=None)#

多维二进制hit-or-miss 变换。

hit-or-miss 变换查找输入图像内给定图案的位置。

参数

input 数组(转换为布尔值)

要检测模式的二进制图像。

structure1 数组(转换为布尔值),可选

要适合输入的前景(非零元素)的结构元素的一部分。如果未提供任何值,则选择方形连通性 1 的结构。

structure2 数组(转换为布尔值),可选

必须完全错过前景的结构化元素的第二部分。如果没有提供值,则取结构 1 的补码。

output ndarray,可选

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

origin1 int 或整数元组,可选

结构元素结构 1 的第一部分的放置,对于居中结构,默认为 0。

origin2 int 或整数元组,可选

结构元素结构2的第二部分的放置,对于居中结构,默认为0。如果为 origin1 而不是为 origin2 提供了值,则将 origin2 设置为 origin1。

返回

binary_hit_or_miss ndarray

Hit-or-miss 输入与给定结构元素(结构1,结构2)的变换。

参考

例子

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.zeros((7,7), dtype=int)
>>> a[1, 1] = 1; a[2:4, 2:4] = 1; a[4:6, 4:6] = 1
>>> a
array([[0, 0, 0, 0, 0, 0, 0],
       [0, 1, 0, 0, 0, 0, 0],
       [0, 0, 1, 1, 0, 0, 0],
       [0, 0, 1, 1, 0, 0, 0],
       [0, 0, 0, 0, 1, 1, 0],
       [0, 0, 0, 0, 1, 1, 0],
       [0, 0, 0, 0, 0, 0, 0]])
>>> structure1 = np.array([[1, 0, 0], [0, 1, 1], [0, 1, 1]])
>>> structure1
array([[1, 0, 0],
       [0, 1, 1],
       [0, 1, 1]])
>>> # Find the matches of structure1 in the array a
>>> ndimage.binary_hit_or_miss(a, structure1=structure1).astype(int)
array([[0, 0, 0, 0, 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, 0, 0, 0, 1, 0, 0],
       [0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0]])
>>> # Change the origin of the filter
>>> # origin1=1 is equivalent to origin1=(1,1) here
>>> ndimage.binary_hit_or_miss(a, structure1=structure1,\
... origin1=1).astype(int)
array([[0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 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, 0, 0, 0, 1, 0],
       [0, 0, 0, 0, 0, 0, 0]])

相关用法


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