scipy.signal.

spline_filter#

scipy.signal.spline_filter(Iin, lmbda=5.0)[源代码][源代码]#

对秩为2的数组进行平滑样条(三次)滤波。

使用衰减为 lmbda 的(三次)平滑样条曲线对输入数据集 Iin 进行滤波。

参数:
Iinarray_like

输入数据集

lmbdafloat, 可选

样条平滑衰减值,默认是 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()
../../_images/scipy-signal-spline_filter-1.png