可能重复:
如何沿两个轴重复
假设我们有以下矩阵/图像:
x = array([[1, 0, 1],
[0, 1, 0],
[1, 0, 1]])
我想要的是一个 9x9 矩阵,它是上面的 3 倍放大版本,左上角有 3x3 个,中间顶部有 3x3 个 0,等等。
我已经尝试过的事情是:
scipy.ndimage.interpolation.zoom (x, 3, order=(anything)),例如 order=0 返回:
array([[1, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 1, 1, 1],
[0, 0, 1, 1, 1, 1, 0, 0, 0],
[0, 0, 1, 1, 1, 1, 0, 0, 0],
[0, 0, 1, 1, 1, 1, 0, 0, 0],
[0, 0, 1, 1, 1, 1, 0, 0, 0],
[1, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 1, 1, 1]])
scipy.misc.imresize (x, (9,9), interp="nearest") (实际上来自 PIL),它提出了不同的创意(但错误)解决方案。
同时,MATLAB imresize 完美解决了这个问题...
有任何想法吗?(注意:所有这些解决方案都应该有效,所以在提交之前,请尝试一下 :))