使用浮点索引采样numpy数组(类似于pytorch grid_sample)

时间:2020-05-03 12:05:03

标签: python numpy

是否有某种方法可以使用双线性插值法来获取带有浮点索引的numpy数组以获取中间值?例如,给定一维数组:

arr=np.array([0,1])

我希望arr[0.5]返回0.5,因为该索引位于0到1之间。对于2D示例:

arr=np.array([[0,1],[2,3]])

arr[0.5, 0.5]应该返回1.5。在pytorch中,此功能由torch.nn.grid_sample提供,我想将性能与在numpy中为我的应用程序进行比较。

1 个答案:

答案 0 :(得分:1)

不知道纯numpy能不能实现。就个人而言,我使用 Opencv 重映射函数作为 pytorch grid_sample 的替代方法。它有一个python绑定并支持numpy数组。

OpenCV documentation on remap

编辑:Scipy interp 看起来也不错。

Scipy interp2d