用法:
skimage.feature.peak_local_max(image, min_distance=1, threshold_abs=None, threshold_rel=None, exclude_border=True, indices=True, num_peaks=inf, footprint=None, labels=None, num_peaks_per_label=inf, p_norm=inf)
在图像中查找峰值作为坐标列表或布尔掩码。
峰值是 2 * min_distance + 1 区域中的局部最大值(即,峰值至少相隔 min_distance)。
如果同时提供threshold_abs和threshold_rel,则选择两者中的最大值作为峰值的最小强度阈值。
- image:ndarray
输入图像。
- min_distance:int 可选
分离峰的最小允许距离。要查找最大峰数,请使用min_distance=1。
- threshold_abs:浮点数或无,可选
峰的最小强度。默认情况下,绝对阈值是图像的最小强度。
- threshold_rel:浮点数或无,可选
峰的最小强度,计算为
max(image) * threshold_rel
。- exclude_border:int 整数元组或布尔值,可选
如果是正整数,exclude_border 会排除图像边界 exclude_border-像素内的峰值。如果元组是非负整数,则元组的长度必须与输入数组的维度匹配。元组的每个元素将排除沿该维度的图像边界的exclude_border-像素内的峰值。如果为 True,则将 min_distance 参数作为值。如果为零或假,无论峰与边界的距离如何,都可以识别峰。
- indices:布尔型,可选
如果为 True,则输出将是一个表示峰值坐标的数组。坐标根据峰值排序(较大的优先)。如果为 False,则输出将是一个布尔数组,其形状为image.shape在真元素处出现峰值。
indices
已弃用并将在 0.20 版中删除。默认行为将始终返回峰值坐标。您可以获得如下示例所示的掩码。- num_peaks:int 可选
最大峰值数。当峰数超过num_peaks时,根据最高峰强度返回num_peaks峰。
- footprint:布尔数组,可选
如果提供,footprint == 1 表示要在图像中的每个点搜索峰值的局部区域。
- labels:整数的ndarray,可选
如果提供,每个唯一区域标签 == 值代表一个用于搜索峰值的唯一区域。零是为背景保留的。
- num_peaks_per_label:int 可选
每个标签的最大峰值数。
- p_norm:浮点数
使用哪个 Minkowski p-norm。应在 [1, inf] 范围内。如果可能发生溢出,有限的大 p 可能会导致 ValueError。
inf
对应于切比雪夫距离,2 对应于欧几里得距离。
- output:ndarray 或 ndarray 的布尔值
- 如果 index =真:(行,列,...)峰坐标。
- 如果 index =假: 布尔数组形状像图片, 峰值由 True 值表示。
参数:
返回:
注意:
峰值局部最大值函数返回图像中局部峰值(最大值)的坐标。在内部,最大过滤器用于寻找局部最大值。此操作会扩大原始图像。在比较扩张图像和原始图像之后,此函数返回扩张图像等于原始图像的峰的坐标或掩码。
例子:
>>> img1 = np.zeros((7, 7)) >>> img1[3, 4] = 1 >>> img1[3, 2] = 1.5 >>> img1 array([[0. , 0. , 0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. , 0. , 0. ], [0. , 0. , 1.5, 0. , 1. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. , 0. , 0. ]])
>>> peak_local_max(img1, min_distance=1) array([[3, 2], [3, 4]])
>>> peak_local_max(img1, min_distance=2) array([[3, 2]])
>>> img2 = np.zeros((20, 20, 20)) >>> img2[10, 10, 10] = 1 >>> img2[15, 15, 15] = 1 >>> peak_idx = peak_local_max(img2, exclude_border=0) >>> peak_idx array([[10, 10, 10], [15, 15, 15]])
>>> peak_mask = np.zeros_like(img2, dtype=bool) >>> peak_mask[tuple(peak_idx.T)] = True >>> np.argwhere(peak_mask) array([[10, 10, 10], [15, 15, 15]])
相关用法
- Python skimage.feature.graycomatrix用法及代码示例
- Python skimage.feature.blob_doh用法及代码示例
- Python skimage.feature.blob_dog用法及代码示例
- Python skimage.feature.graycoprops用法及代码示例
- Python skimage.feature.corner_orientations用法及代码示例
- Python skimage.feature.structure_tensor用法及代码示例
- Python skimage.feature.hessian_matrix用法及代码示例
- Python skimage.feature.ORB用法及代码示例
- Python skimage.feature.corner_subpix用法及代码示例
- Python skimage.feature.canny用法及代码示例
- Python skimage.feature.CENSURE用法及代码示例
- Python skimage.feature.hessian_matrix_eigvals用法及代码示例
- Python skimage.feature.corner_foerstner用法及代码示例
- Python skimage.feature.haar_like_feature_coord用法及代码示例
- Python skimage.feature.corner_harris用法及代码示例
- Python skimage.feature.corner_fast用法及代码示例
- Python skimage.feature.BRIEF用法及代码示例
- Python skimage.feature.haar_like_feature用法及代码示例
- Python skimage.feature.SIFT用法及代码示例
- Python skimage.feature.structure_tensor_eigvals用法及代码示例
注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.feature.peak_local_max。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。