離散点カーブスムーズ
735 ワード
多くの場合、描画したセグメントをできるだけ滑らかにしたいと考えています.ここでは、単純な平均平滑フィルタリング方法について説明します.簡単です.1つの数とその周囲のいくつかの点を加算して平均値を求めます.この平均値は平滑化された点です.pythonコード:
ここではstep個の点を合わせてスムーズに出力します.
スムージング前:
スムージング後:
(ps:上の図ではx,y軸をスムーズにする必要があります.画像は[UESTC](http://www.uestc.edu.cn/)、転載使用禁止)
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/)、転載使用禁止)