提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
一、高斯滤波器
我们在作图的过程中,曲线往往会因为数据点过多而波动性大,高斯滤波器通过复杂的操作使得曲线更加平滑化和简单。
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用结果
1.原先的曲线
可能是这个样子的:
2.滤波后的曲线
变成了这样:
代码
导入包:
import numpy as np
import scipy
from scipy.integrate import simps # 用于计算积分
import matplotlib.pyplot as plt # 用于画图
import pandas as pd
import csv
from scipy import signal
主体:
x=[]
y=[]
with open('input1.csv') as f:
f_csv = csv.reader(f)
headers = next(f_csv)
for row in f_csv:
x.append(row[0])
y.append(row[1])
x =[int(num) for num in x]
y = [int(float(num)) for num in y]
v = scipy.signal.savgol_filter(y,21,3) #这些参数效果较好