python - 使用 numpy 中的小数步长调整大小

标签 python numpy

如何使用非整数步长修改 numpy 数组的大小?那是: 要将大小为 (64,64,64) 的 3D 数组转换为大小为 (55,100,60) 的 3D 数组,请插入值或使用 kron 函数之类的东西

最佳答案

你想如何插值?

没有“最佳”、“正确”或“正常”的数据插值方法...这完全取决于您的问题。

有很多不同的方法可以满足您的需求。

起点是 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。使用样条插值,这通常会导致数组边缘附近出现强烈的伪影。

关于python - 使用 numpy 中的小数步长调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9990084/

相关文章:

python - 在 PyQt 中将 Label 字体大小与布局同步

python - 属性错误 : module 'mysql' has no attribute 'connector'

python - 如果使用 Python 满足特定条件,则替换列中的值

python - Numpy 妨碍了 int -> float 类型转换

python - 在收敛于初始未知常量的同时消除运行系统中噪声的算法

python - 如何预测不超过目标示例?

python - 尝试安装 Odoo 应用程序时出错

python - 在范围之间重新分类python中的numpy数组

python-3.x - 用 2d 数组索引 3d numpy 数组

python - Numpy 将 float32 转换为 float64