Python 有没有一种优雅的方法可以将numpy数组拆分为多个盒子?

Python 有没有一种优雅的方法可以将numpy数组拆分为多个盒子?,python,numpy,Python,Numpy,我有一个图像,目前在一个numpy数组中。这对我的工作很有用,因为我用傅立叶变换处理图像 目前我感兴趣的是查看图像中许多位的傅里叶变换。这张图片是一个512x512的numpy数组,我想把它分成几个小盒子。我想把它分成4个盒子,然后是16个盒子 我发现np.array\u split,但是这似乎只将数组分割成条带。因此,我只是多次调用它,如下所示(其中Real是512512的输入数组) 当我把它们分成16块的时候,感觉会很不整洁。我想知道我是否没有注意到我可以使用的另一个numpy函数 谢谢这回

我有一个图像,目前在一个numpy数组中。这对我的工作很有用,因为我用傅立叶变换处理图像

目前我感兴趣的是查看图像中许多位的傅里叶变换。这张图片是一个512x512的numpy数组,我想把它分成几个小盒子。我想把它分成4个盒子,然后是16个盒子

我发现np.array\u split,但是这似乎只将数组分割成条带。因此,我只是多次调用它,如下所示(其中Real是512512的输入数组)

当我把它们分成16块的时候,感觉会很不整洁。我想知道我是否没有注意到我可以使用的另一个numpy函数


谢谢

这回答了你的问题吗?如果您有
skimage
,那么只需使用@effy感谢链接,不幸的是,该函数对我来说无法正常工作
H1, H2 = np.array_split(Real, 2, axis=0)
B1, B2 = np.array_split(H1, 2, axis=1)
B3, B4 = np.array_split(H2, 2, axis=1)

fig, ax = plt.subplots(2, 2)
ax[0,0].imshow(B1, cmap='Greys')
ax[0,1].imshow(B2, cmap='Greys')
ax[1,0].imshow(B3, cmap='Greys')
ax[1,1].imshow(B4, cmap='Greys')

plt.show()