scipy.signal.
样条滤波器#
- scipy.signal.spline_filter(Iin, lmbda=5.0)[源代码]#
对秩 2 数组进行平滑样条(三次)滤波。
使用衰减为 lmbda 的(三次)平滑样条对输入数据集 Iin 进行滤波。
- 参数:
- Iin类似数组
输入数据集
- lmbda浮点型,可选
样条平滑衰减值,默认为 5.0。
- 返回值:
- resndarray
滤波后的输入数据
示例
我们可以利用三次 B 样条滤波器对多维信号(例如 2D 图像)进行滤波
>>> import numpy as np >>> from scipy.signal import spline_filter >>> import matplotlib.pyplot as plt >>> orig_img = np.eye(20) # create an image >>> orig_img[10, :] = 1.0 >>> sp_filter = spline_filter(orig_img, lmbda=0.1) >>> f, ax = plt.subplots(1, 2, sharex=True) >>> for ind, data in enumerate([[orig_img, "original image"], ... [sp_filter, "spline filter"]]): ... ax[ind].imshow(data[0], cmap='gray_r') ... ax[ind].set_title(data[1]) >>> plt.tight_layout() >>> plt.show()