python - 重新采样并调整 numpy 数组的大小

标签 python arrays numpy scipy interpolation

我想按照这里的建议对 numpy 数组重新取样 Resampling a numpy array representing an image然而,这种重采样将通过一个因素来实现,即

x = np.arange(9).reshape(3,3)
print scipy.ndimage.zoom(x, 2, order=1)

将创建 (6,6) 的形状,但我如何才能将数组重新采样到 (4,6)、(6,8) 或 (6,10) 形状内的最佳近似值?

最佳答案

不是将单个数字传递给 zoom 参数,而是给出一个序列:

scipy.ndimage.zoom(x, zoom=(1.5, 2.), order=1)
#array([[0, 0, 1, 1, 2, 2],
#       [2, 2, 3, 3, 4, 4],
#       [4, 4, 5, 5, 6, 6],
#       [6, 6, 7, 7, 8, 8]])

使用序列 (2., 2.75)(2., 3.5) 你会得到形状为 (6, 8) 的输出数组code> 和 (6, 10)

关于python - 重新采样并调整 numpy 数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23424716/

相关文章:

python - 是否可以向 Django 表单添加单行?

java - 检查两个非常长的数组是否至少有一个公共(public)元素的最快(运行时)方法?

java - 不使用数组编写此方法的另一种方法

jQuery 复选框值以逗号分隔列表

python - Python中基于FFT的二维卷积和相关性

python - 有效地删除 numpy 图像数组的行/列

python:进行大规模检查的有效方法

python - 如何使 scipy.interpolate 给出超出输入范围的推断结果?

python - Sphinx 中尖括号旁边的替换

python - 错误 : could not create '/usr/local/lib/python2.7/dist-packages/virtualenv_support' : Permission denied