繁体   English   中英

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

[英]Finding the number of local maxima/local minima (range) from a vector in c++

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

为了给出一个更清晰的想法,从向量中绘制出值将产生类似于以下内容的结果:

在此处输入图片说明

简单来说,我想找到峰的数量。 在这种情况下,为6。但是,峰不是单个点,而是一系列值。 如何从向量中找到峰的数量(局部最大值的范围)?

如果可以有一些伪代码,代码示例,将不胜感激,建议也将不胜感激。 我正在为这个项目使用Visual Studio C ++,以及QWT,QT和OpenCV。

我认为应该没有那么困难。 只需按顺序扫描所有值,每当您获得阈值水平时,就开始范围,当超出阈值水平时,就结束特定范围。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM