0

我想将 scipy.ndimage.map_coordinates 的插值方法设置为双线性和最近(不同示例有 2 个不同)。

文档中没有提到如何更改插值方法。其中写了以下语句,我无法理解。

order : int, optional 样条插值的顺序,默认为 3。顺序必须在 0-5 范围内。

这是否意味着在 scipy.ndimage.map_coordinates 中只允许样条插值?我缺少什么以及如何更改插值。Ps-我需要它来改变弹性变形任务

4

1 回答 1

4

你可以得到你想要的:

  • order=0用于最近插值
  • order=1用于线性插值

例子

a = np.arange(12.).reshape((4, 3))
inds = np.array([[0], [0.7]]) 
ndimage.map_coordinates(a, inds, order=0) # returns [1.0]
ndimage.map_coordinates(a, inds, order=1) # returns [0.7]

为什么

零阶样条插值最近邻插值,一阶样条插值线性插值。从这篇论文

... 0 次样条(分段常数)和 1 次样条(分段线性)...

于 2019-09-04T00:03:14.860 回答