如何使用非整数步修改numpy数组的大小?那是: 要将大小为(64,64,64)的3D数组转换为3D数组,例如大小(55,100,60),插值或使用类似kron函数
答案 0 :(得分:3)
你想如何插值?
没有“最佳”,“正确”或“正常”的方式来插入数据......这一切都取决于你的问题。
有很多不同的方法可以做你想要的。
起点为scipy.ndimage.zoom
,它可以使用样条线性,线性或最近邻插值,并完全按照您的要求进行。
指定order=0
将给出最近邻插值,order=1
将给出线性插值,而大于1的任何内容将给出指定的样条插值顺序。 (默认值为order=3
,即“三次样条”插值。)
在你的情况下,它将是:
new = zoom(data, (55/64.0, 100/64.0, 60/64.0), order=typeofinterpolationyouwant)
您还需要考虑如何处理边界。默认设置是将原始数组外的任何值视为0.使用样条插值时,这通常会导致数组边缘附近出现强烈的伪影。