地图轨迹平滑算法
引子:
之前看到网上有大神写过一个demo:
http://blog.csdn.net/zhoumushui/article/details/41751259
但是提供的代码不全,一直没有明白这个算法是怎么做的:
算法说明:
后来一次偶然的机会,看到这篇文章(注意,这篇文章里的代码,部分算法的参数是错的):
http://blog.csdn.net/liyuanbhu/article/details/11119081
其中的5点平滑代码恰恰和之前描述的一样,原来之前的文章只给出了边缘4个点(最前面2个点、最后面2个点),恰恰漏掉了最关键的中间所有点、虽然只是简单的5点平均
这个算法是Savitzky-Golay 滤波器的“5点1阶”算法。那么,怎么推导出“n点k阶”的系数呢?笔者没有时间去仔细研究算法本身,只想找到最快的方法解决问题,最后发现可以通过MatLab直接的得到这些参数,比如:
这个矩阵前2行对应前两个点的系数,后2行对应后两个点的系数,中间行对应中间所有点的系数。