scipy.ndimage.
black_tophat#
- scipy.ndimage.black_tophat(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0)[源代码][源代码]#
多维黑帽滤波器。
- 参数:
- 输入array_like
输入。
- 大小整数元组,可选
用于过滤器的平面和完整结构元素的形状。如果提供了 footprint 或 structure,则为可选。
- 足迹整数数组,可选
用于黑帽滤波器的扁平结构元素中非无限元素的位置。
- 结构整数数组,可选
用于过滤的结构化元素。structure 可能是一个非平面的结构化元素。structure 数组对邻域中的像素应用偏移量(在膨胀期间偏移量是加性的,在腐蚀期间是减性的)
- 输出数组,可选
可以提供一个数组来存储过滤器的输出。
- 模式{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’},可选
mode 参数决定了数组边界的处理方式,其中 cval 是当 mode 等于 ‘constant’ 时的值。默认是 ‘reflect’。
- cval标量,可选
如果 mode 是 ‘constant’,则用于填充输入边缘之外的值。默认值为 0.0。
- 起源标量,可选
origin 参数控制过滤器的放置位置。默认值为 0
- 返回:
- black_tophatndarray
使用 structure 过滤 input 的结果。
示例
将暗峰变为亮峰并减去背景。
>>> from scipy.ndimage import generate_binary_structure, black_tophat >>> import numpy as np >>> square = generate_binary_structure(rank=2, connectivity=3) >>> dark_on_gray = np.array([[7, 6, 6, 6, 7], ... [6, 5, 4, 5, 6], ... [6, 4, 0, 4, 6], ... [6, 5, 4, 5, 6], ... [7, 6, 6, 6, 7]]) >>> black_tophat(input=dark_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]])