将 scipy.ndimage.map_coordinates 中的插值方法设置为最近和双线性
Set interpolation method in scipy.ndimage.map_coordinates to nearest and bilinear
我想将scipy.ndimage.map_coordinates的插值方式设置为
双线性和最近(不同示例有 2 个不同)。
文档中没有提到如何更改插值method.There是下面写的语句,我无法理解。
order : int, optional
The order of the spline interpolation, default is 3. The order has to be in the range 0-5.
这是否意味着在scipy.ndimage.map_coordinates中只允许样条插值?
我缺少什么以及如何更改插值。
P.s-我需要它来改变弹性变形任务
你可以得到你想要的:
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]
为什么
零阶样条插值是最近邻插值,一阶样条插值是线性插值。来自 this paper:
...splines of degree 0 (piecewise constant) and splines of degree 1 (piecewise linear) ...
我想将scipy.ndimage.map_coordinates的插值方式设置为 双线性和最近(不同示例有 2 个不同)。
文档中没有提到如何更改插值method.There是下面写的语句,我无法理解。
order : int, optional The order of the spline interpolation, default is 3. The order has to be in the range 0-5.
这是否意味着在scipy.ndimage.map_coordinates中只允许样条插值? 我缺少什么以及如何更改插值。 P.s-我需要它来改变弹性变形任务
你可以得到你想要的:
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]
为什么
零阶样条插值是最近邻插值,一阶样条插值是线性插值。来自 this paper:
...splines of degree 0 (piecewise constant) and splines of degree 1 (piecewise linear) ...