如何找到连接一组点的平滑曲线(在Open CV中)?

时间:2014-02-24 19:44:06

标签: c++ opencv filtering convolution smoothing

我想删除曲线中的噪音。我有一组点(std::vector<Point>)。这代表一条曲线,但它很吵。所以我想要消除噪音并获得平滑的曲线。

我尝试了多种选项,例如多项式曲线拟合cv::approxPolyDP。但他们没有给出我想要的东西。

现在我想使用过滤来平滑它。但在opencv中,功能是用于图像(2D信号)。那么我怎么能为这样的一维信号做呢?

1 个答案:

答案 0 :(得分:2)

看起来你想要的是smoothing spline

  

平滑样条曲线是一种使用样条函数平滑(将平滑曲线拟合到一组噪声观测值)的方法。

不幸的是,我不认为这已经在OpenCV中实现了。尽管如此,有点快速的谷歌搜索显示GNU Scientific Library包括对basis smoothing splines的支持,这似乎会做你想要的。