c语言中用for循环举一个均值滤波的例子
时间: 2023-11-26 15:01:44 浏览: 89
当然可以!以下是一个用C语言实现的均值滤波器的例子:
```C
#include <stdio.h>
int main() {
// 定义一个长度为10的数组
int nums[10] = {2, 4, 5, 8, 10, 12, 15, 16, 18, 19};
// 定义窗口大小为3
int window_size = 3;
// 计算滤波后的数组长度
int filtered_len = 10 - window_size + 1;
// 定义一个长度为filtered_len的数组来存储滤波结果
int filtered_nums[filtered_len];
// 计算滤波结果并存储到filtered_nums中
for (int i = 0; i < filtered_len; i++) {
int sum = 0;
for (int j = i; j < i + window_size; j++) {
sum += nums[j];
}
filtered_nums[i] = sum / window_size;
}
// 输出滤波结果
for (int i = 0; i < filtered_len; i++) {
printf("%d ", filtered_nums[i]);
}
printf("\n");
return 0;
}
```
该程序定义了一个长度为10的数组,然后对其进行了均值滤波,窗口大小为3。程序首先计算了滤波后的数组长度,然后在外层循环中对每一个可能的窗口应用滤波器,并将结果存储在filtered_nums数组中。程序最后输出了滤波结果。
阅读全文