使用 y 值作为插值的输入,而不是 x

Use y-values as input for interpolation, instead of x

我通过使用 scipy 插值,使用 openCV 从我的网络摄像头获得的坐标来预测滚动球的路径。

为简单起见,仅使用正常的 x 值和 y 值数组。

我只能在函数中输入x得到y。但是,我希望能够通过使用 y 作为输入来获得 x。如果有意义的话,这就是我想要的反插值函数。

目前它仅适用于 x 的输入,如以下代码中的 f(-100) 所示。

from scipy import interpolate

def f(x):
    x_points = [ 0, 1, 2, 3, 4, 5]
    y_points = [12,14,22,39,58,77]

    coeff = interpolate.splrep(x_points, y_points)
    return interpolate.splev(x, coeff)

print(f(-100))

使用 x 作为输入时的输出工作正常,没有给出错误消息。

您是否尝试过转换参数? 系数 = interpolate.splrep(y_points, x_points)