scipy.ndimage.

white_tophat#

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

多维白色顶帽滤波器。

参数:
输入array_like

输入。

大小整数元组

用于过滤器的平面和完整结构元素的形状。如果提供了 footprintstructure,则为可选。

足迹整数数组,可选

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

结构整数数组,可选

用于过滤的结构化元素。structure 可能是一个非平面的结构化元素。structure 数组对邻域中的像素应用偏移量(在膨胀期间偏移量是加性的,在腐蚀期间是减性的)

输出数组,可选

可以提供一个数组来存储过滤器的输出。

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

mode 参数决定了数组边界的处理方式,其中 cval 是当 mode 等于 ‘constant’ 时的值。默认是 ‘reflect’。

cval标量,可选

如果 mode 是 ‘constant’,则用于填充输入边缘之外的值。默认值为 0.0。

起源标量,可选

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

返回:
输出ndarray

使用 structure 过滤 input 的结果。

参见

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]])