1

看两个屏幕截图,数据以双精度形式存储在 2D C 数组中。

第一个是我的原始数据,第二个是我想要的。所以我需要删除带有红色圆圈的点。我的第一次尝试是将每个点的 y 值与前一个点和下一个点的 y 值进行比较。如果它低于两者,则将其删除。

但是,这也会删除不应该删除的带有绿色圆圈的点。

关于仅删除带有红色圆圈的点的算法的任何建议?我不能使用阈值,因为也会有像绿色圆圈这样的点更接近 x 轴。

前

后

4

2 回答 2

2

怎么样:通过找到绿点(最高倾角),然后再通过并移除所有小于该值的倾角?

于 2013-09-14T15:31:29.007 回答
0

我找到了另一种方法。

我没有在生成它们之后过滤所有值,而是在生成点期间过滤它们。例如,我计算它所属曲线的特定 x 值的 y 值,但也计算它的两条相邻曲线的 y 值。然后我检查该点是否位于相邻曲线之一的下方或上方,并在此基础上将它们添加到我的曲线中。

仍在稍微调整它,但它似乎比我最初想的更容易和更快。

于 2013-09-16T15:19:48.617 回答