離散点カーブスムーズ

735 ワード

多くの場合、描画したセグメントをできるだけ滑らかにしたいと考えています.ここでは、単純な平均平滑フィルタリング方法について説明します.簡単です.1つの数とその周囲のいくつかの点を加算して平均値を求めます.この平均値は平滑化された点です.pythonコード:
 
def mean_filter(arr, step):
    """
          ,       ,             。  step      
    :param arr:  
    :param step:        
    :return:      
    """
    new_arr = arr[:int(step / 2)]
    for kk in range(int(step / 2), len(arr) - step + int(step / 2)):
        new_arr.append(int(sum(arr[kk - int(step / 2):kk + step - int(step / 2)]) / step))
    new_arr.extend(arr[-(step - int(step / 2)):])
    return new_arr

ここではstep個の点を合わせてスムーズに出力します.
スムージング前:
スムージング後:
(ps:上の図ではx,y軸をスムーズにする必要があります.画像は[UESTC](http://www.uestc.edu.cn/)、転載使用禁止)