Есть ли элегантный способ разбить массив numpy на блоки? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть изображение, которое в настоящее время находится в массиве numpy. Это полезно для моей работы, поскольку я работаю с преобразованием Фурье изображений.

В настоящее время я заинтересован в просмотре преобразования Фурье множества битов изображения. Изображение представляет собой массив 512x512 в формате numpy, и я хотел бы разбить его на небольшие блоки. Я имею в виду разделить его на 4 коробки, а затем 16 коробок.

Я обнаружил np.array_split, однако, похоже, он разбивает массив только на полосы. В результате я просто вызываю его несколько раз, как показано ниже (где Real - входной массив 512 512)

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()

Когда я делю их на 16, создается впечатление, что это будет выглядеть очень неопрятно. Мне было интересно, не заметил ли я еще одну numpy функцию, которую я мог бы использовать?

спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...