我想按照Resampling a numpy array representing an image的建议重新采样一个numpy数组,但是这个重新采样将通过一个因素进行重新采样。
x = np.arange(9).reshape(3,3)
print scipy.ndimage.zoom(x, 2, order=1)
将创建(6,6)的形状但是如何将数组重新采样到例如(4,6),(6,8)或(6,10)形状内的最佳近似值?
答案 0 :(得分:4)
不是将单个数字传递给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)
和(6, 10)
的输出数组。