首页 > 解决方案 > 如何从图片中获取所有局部“峰值”?

问题描述

我想从下图中得到所有的小山峰。我也想避免出现大峰(在右侧),但我可以根据面积排除它。该图像是 Sobel 算子的结果,但这并不重要。它将用作分水岭算法的标记。这不是我必须处理的唯一图片,我不能仅根据它们是“局部最大值”这一事实来传递峰值的值。请注意,轮廓检测将不起作用,因为连接了一些小凸起。图片:

在此处输入图像描述

标签: opencvwatershed

解决方案


您可能会发现我1999 年论文的第 4 章“峰与脊”很有用。它使用分水岭算法的概念,使用文森特的有序像素实现来实现。算法细节在论文中。我已经很多年没有在这个领域工作了,所以还没有做过 opencv 的实现。

@Alessandro Jacopson在另一个 SO 分水岭问题中提供了以下链接:

文森特,卢克;索尔,皮埃尔。数字空间中的分水岭:基于沉浸式模拟的有效算法。IEEE 模式分析和机器智能交易,1991,13.6:583-598。


推荐阅读