#几行代码实现c++滑动平均滤波器
编程环境vs2019,使用滑动平均滤波器可以动态滑动算出平均数,贴一个图片。
double movingAverageFilter(double input, int windowSize)
{
//input 是输入的数据
//windowSize是窗口宽度
double output = 0.0;
static std::vector<double> in_vct;
in_vct.push_back(input);
int n = in_vct.size();
if(n>windowSize) in_vct.erase(in_vct.begin() + 0);
// 确保窗口大小不超过输入数据的长度
int window1 = min(windowSize, n);
double sum = 0;
for (int i = 0; i < window1; i++)
{
sum += in_vct[i];
}
output = (sum / window1);
return output;
}