scipy.ndimage.

white_tophat#

scipy.ndimage.white_tophat(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0, *, axes=None)[源代码]#

多维白色顶帽滤波器。

参数:
inputarray_like

输入。

size整数元组

用于滤波器的扁平完整结构元素形状。如果提供了footprintstructure,则为可选参数。

footprint整数数组,可选

用于白色顶帽滤波器的扁平结构元素的元素位置。

structure整数数组,可选

用于滤波器的结构元素。structure可以是是非扁平结构元素。structure数组将偏移量应用于邻域中的像素(在膨胀期间偏移量是加性的,在腐蚀期间是减性的)

output数组,可选

可提供用于存储滤波器输出的数组。

mode{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, 可选

mode参数确定如何处理数组边界,其中cval是当模式等于“constant”时的值。默认为“reflect”

cval标量,可选

如果mode为“constant”,则填充输入边缘以外的值。默认为0.0。

origin标量,可选

origin参数控制滤波器的放置位置。默认为0。

axes整数元组或 None

应用滤波器的轴。如果为 None,则沿所有轴过滤input。如果提供了origin元组,则其长度必须与轴的数量匹配。

返回:
outputndarray

inputstructure滤波的结果。

另请参阅

black_tophat

示例

从明亮的峰值中减去灰色背景。

>>> from scipy.ndimage import generate_binary_structure, white_tophat
>>> import numpy as np
>>> square = generate_binary_structure(rank=2, connectivity=3)
>>> bright_on_gray = np.array([[2, 3, 3, 3, 2],
...                            [3, 4, 5, 4, 3],
...                            [3, 5, 9, 5, 3],
...                            [3, 4, 5, 4, 3],
...                            [2, 3, 3, 3, 2]])
>>> white_tophat(input=bright_on_gray, structure=square)
array([[0, 0, 0, 0, 0],
       [0, 0, 1, 0, 0],
       [0, 1, 5, 1, 0],
       [0, 0, 1, 0, 0],
       [0, 0, 0, 0, 0]])