使用Python查找2D峰值

时间:2018-11-10 04:45:14

标签: python image-processing scipy topography

我发现了这个scipy函数scipy.signal.peak_prominences,它以1d序列找到指定局部最大值的topographic prominence

但是我的应用程序需要在2D阵列中定位重要的峰。我知道一些峰值发现方法,例如进行最大滤波,scipy和skimage都有其实现。 skimage的h_maxima()还允许过滤具有最小相对高度的局部峰。但是这些仅给出峰的坐标,而不是峰的突出。

那么,如何计算二维阵列上的峰值? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我已按照Wiki的定义,使用封闭轮廓方法烹制了一个python模块:

  

一个山峰的突出之处是该山峰的顶高   环绕它但不包含更高顶点的最低轮廓线   在里面。

可以选择过滤掉横截面积较小或突出值较低的局部峰。

我已将代码放在这里:https://github.com/Xunius/python_peak_promience2d,如果有人发现任何问题或可能的改进,请提出问题或PR。

演示图: enter image description here