Я разделил (512x512) 2-мерный массив на 2x2 блоков, используя эту функцию.Слияние неперекрывающихся блоков массивов
skimage.util.view_as_blocks (arr_in, block_shape)
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
>>> B = view_as_blocks(A, block_shape=(2, 2))
>>> B[0, 0]
array([[0, 1],
[4, 5]])
>>> B[0, 1]
array([[2, 3],
[6, 7]])
Теперь мне нужно поставить одинаковые блоки на свои первоначальные места после манипуляций, но я не мог видеть какую-либо функцию в skimage для этого.
Каков наилучший способ слияния неперекрывающихся массивов, как это было раньше?
Спасибо!
Спасибо за помощь вашего первого ответа также работал «B.transpose (0,2,1,3) .resape (512 512)». Возникает вопрос, что означает эта часть '(-1, B.shape [1] * B.shape [3])'? – enterbutton
@enterbutton В основном это означает, что новая форма имела бы 'B.shape [1] * B.shape [3]' количество cols и количество строк определялось функцией reshape путем деления общего количества элементов на количество cols, обозначенное символом '-1'. В условиях неспециалиста я позволяю компьютеру вычислить нет. строк для меня с этим '-1'. В большинстве случаев это означало выпуск компактных кодов. Надеюсь, это имеет смысл! – Divakar
Еще раз спасибо за помощь и объяснение @Divakar – enterbutton