C#实现中位值平均滤波算法 输入List<double>返回List<double>
时间: 2024-06-09 07:01:23 浏览: 15
以下是C#实现中位值平均滤波算法的代码:
```
public static List<double> MedianFilter(List<double> inputList, int filterSize)
{
List<double> outputList = new List<double>();
int halfFilterSize = (filterSize - 1) / 2;
for (int i = 0; i < inputList.Count; i++)
{
double medianValue = 0;
if (i < halfFilterSize || i >= inputList.Count - halfFilterSize)
{
medianValue = inputList[i];
}
else
{
List<double> tempList = new List<double>();
for (int j = i - halfFilterSize; j <= i + halfFilterSize; j++)
{
tempList.Add(inputList[j]);
}
tempList.Sort();
medianValue = tempList[halfFilterSize];
}
outputList.Add(medianValue);
}
return outputList;
}
```