3

我已经对数据进行了采样并将其绘制为imshow()

在此处输入图像描述

我想在水平轴上进行插值,以便更容易区分样本和点特征。是否可以使用 MPL 仅在一个方向上进行插值?


更新
SciPy 具有各种插值方法的完整包。根据 tcaswell的建议,我使用了最简单的interp1d

def smooth_inter_fun(r):
    s = interpolate.interp1d(arange(len(r)), r)
    xnew = arange(0, len(r)-1, .1)
    return s(xnew)

new_data = np.vstack([smooth_inter_fun(r) for r in data])

线性和三次结果:

在此处输入图像描述

在此处输入图像描述

正如预期的那样:)

4

1 回答 1

4

教程涵盖了 numpy/scipy 中可用的一系列插值。如果你只想一个方向,我会独立处理每一行,然后重新组合结果。您可能还对简单地平滑数据感兴趣(例如,Python 平滑时间序列数据,使用strides进行有效的移动平均过滤器)。

def smooth_inter_fun(r):
    #what ever process you want to use
new_data = np.vstack([smooth_inter_fun(r) for r in data])
于 2012-10-31T22:29:28.127 回答