从c ++中的向量中查找局部最大值/局部最小值(范围)的数量

时间:2014-01-20 05:03:38

标签: c++ algorithm

这里的任务是从向量中找到局部最大值(范围)或最小值的数量。我知道如何找到局部最大值/局部最小值(图中的一个点)但是,局部最大值现在在向量中聚集在一起。

为了给出一个更清晰的想法,从向量中绘制出来的值将产生类似于此的东西:

enter image description here

简单来说,我想找到峰的数量。在这种情况下,6。然而,峰值不是单个点,而是一系列值。我怎样才能从矢量中找到峰的数量(局部最大值的范围)?

非常感谢,如果可以有一些伪代码,代码示例,如果没有,建议也将受到赞赏。我正在为此项目使用Visual Studio C ++以及QWT,QT和OpenCV。

1 个答案:

答案 0 :(得分:0)

我认为应该不那么困难。只需按顺序扫描所有值,每当达到阈值水平时,启动范围,当您超出阈值水平时,结束特定范围。

您需要过滤掉两个小的范围。