c++ - 如何在线性插值中找到坏点?

标签 c++ algorithm opencv boost

我有一组点并且我知道:

  1. 都是从0-255
  2. 它们的格式是递增的(所以 Point[0] <= Point[1])
  3. 他们正在抑制一条线(有一些噪音)。

但也有一些表现不好的点。我需要检测那一点。最快的方法是什么?

一般来说,我可以得到第一个和最后一个,然后找到直线公式,然后计算每个点的误差,如果误差太高,我将该点标记为坏点。

有没有更好的方法(更快更准确)?

是否有任何库可以提供帮助(我正在使用 OpenCV 和 Boost)。

最佳答案

您应该计算linear regression,而不是取第一个点和最后一个点。并改为测量点与该趋势线的距离。可能是您的第一点/最后一点表现不佳。

关于c++ - 如何在线性插值中找到坏点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25383562/

相关文章:

c++ - 如何在 kd-tree 中表示线段

OpenCV 距离变换输出与输入图像完全一样的图像

c++ - OpenCV:错误:不匹配调用 '(cv::Mat) (int&, int&)'

c++ - 用 Boost.Bimap 替换 vector 和哈希表

c++ - 异常代码 C++ 中的泄漏

c++ - 将 CGAL 与 Code::Blocks 结合使用

python - 灰度图像中的颜色

c++ - std::merge 在 C++ 中如何工作?

python - 一星算法: Distance heuristics

database - "Parametrized"数据库模型&后端存储系统以及数据挖掘操​​作