Я пытаюсь выяснить, как сделать заказ в numpy такого рода ситуации:
Сначала я создал блоки изображений с двумя циклами for (только для примера):
cuts = 9 # This is for example, there could be much more blocks
for row in range(cuts):
for column in range(cuts):
block_min_x = (1 / cuts) * row
block_max_x = (1 / cuts) * (row + 1)
block_min_y = (1 / cuts) * column
block_max_y = (1 / cuts) * (column + 1)
Затем я добавляю эти "блоки изображений" в массив с именами, такими как "img_1_1, img_1_2, img_1_3, img_2_1, img_2_2, img_2_3 ..." в этом порядке. Вот так это выглядит в массиве (пример с числами):
[6,7,8] [15,16,17] [24,25,26]
[3,4,5] [12,13,14] [21,22,23]
[0,1,2] [9,10,11] [18,19,20]
Есть ли какой-то метод, чтобы упорядочить эти блоки с помощью numpy:
[0,1,2] [3,4,5] [6,7,8]
[9,10,11] [12,13,14] [15,16,17]
[18,19,20] [21,22,23] [24,25,26]
И здесь это изображение, чтобы показать его лучше, что я ищу:
Я не уверен, есть ли какой-то термин для такого рода проблемы поэтому извинения не могут использовать правильные темы. Кажется, проблема в том, что нам нужно «повернуть по часовой стрелке» в таком порядке, как вы видите на синей линии в примере изображения. Так что вопрос в том, как заказать это в numpy? Также, если бы это могло измениться в циклах for, было бы хорошо знать.