scipy.ndimage.
maximum_position#
- scipy.ndimage.maximum_position(input, labels=None, index=None)[源代码]#
查找数组中标签处最大值的位置。
对于由 labels 指定的每个区域,返回 input 在该区域内的最大值位置。
- 参数:
- inputarray_like
值的类数组。
- labelsarray_like,可选
一个整数数组,标记不同的区域,将在这些区域上计算 input 的最大值位置。labels 必须与 input 具有相同的形状。如果未指定 labels,则返回整个数组中第一个最大值的位置。
只有当指定了 index 时,labels 参数才起作用。
- indexarray_like,可选
一个区域标签列表,用于查找最大值的位置。如果 index 为 None,则返回 labels 非零的所有元素中的第一个最大值的位置。
只有当指定了 labels 时,index 参数才起作用。
- 返回:
- output整数元组列表
整数元组列表,指定 input 在由 labels 确定的区域上的最大值的位置,且其索引在 index 中。
如果未指定 index 或 labels,则返回一个整数元组,指定 input 的
第一个
最大值的位置。
另请参阅
示例
>>> from scipy import ndimage >>> import numpy as np >>> a = np.array([[1, 2, 0, 0], ... [5, 3, 0, 4], ... [0, 0, 0, 7], ... [9, 3, 0, 0]]) >>> ndimage.maximum_position(a) (3, 0)
可以使用 labels 和 index 来指定要处理的特征
>>> lbl = np.array([[0, 1, 2, 3], ... [0, 1, 2, 3], ... [0, 1, 2, 3], ... [0, 1, 2, 3]]) >>> ndimage.maximum_position(a, lbl, 1) (1, 1)
如果没有给出索引,则会处理非零的 labels
>>> ndimage.maximum_position(a, lbl) (2, 3)
如果没有最大值,则返回第一个元素的位置
>>> ndimage.maximum_position(a, lbl, 2) (0, 2)