我有一个像这样的 8X8 图像阵列:
a = np.array([[1,1,1,1,2,2,2,2],
[1,1,1,1,2,2,2,2],
[1,1,1,1,2,2,2,2],
[1,1,1,1,2,2,2,2],
[3,3,3,3,4,4,4,4],
[3,3,3,3,4,4,4,4],
[3,3,3,3,4,4,4,4],
[3,3,3,3,4,4,4,4]])
我想将它 reshape 成一个数组,每个部分都像这样彼此分开:
a = np.array([
[[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]],
[[2,2,2,2],[2,2,2,2],[2,2,2,2],[2,2,2,2]],
[[3,3,3,3],[3,3,3,3],[3,3,3,3],[3,3,3,3]],
[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]]
])
这是一个 4X4X4 数组,我可以单独绘制图像的一部分。我该怎么做?
请您参考如下方法:
这样就可以了:
>>> b = np.split(np.hstack(np.split(a, 2)), 4, axis=1)
>>> np.array(b)
array([[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]],
[[2, 2, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]],
[[3, 3, 3, 3],
[3, 3, 3, 3],
[3, 3, 3, 3],
[3, 3, 3, 3]],
[[4, 4, 4, 4],
[4, 4, 4, 4],
[4, 4, 4, 4],
[4, 4, 4, 4]]])
