Python Numpy How To Reshape This List Of Arrays/images Into A Collage?
I've got the following list of 25 mini black-and-white images representing patterns: imgs.shape (25, 3, 3, 1) I.e. there are 25 different 3x3 black and white image patterns. What I
Solution 1:
Answer :
imgs.reshape(5, 5, 3, 3, 1).swapaxes(1, 2).reshape(15, 15, 1)
Examples:
# test data # each 3x3 image consists of the 9 identical digits
A = np.stack([
np.full((3, 3, 1), i)
for i in range(1, 26)
])
with_swap = A.reshape(5, 5, 3, 3, 1).swapaxes(1, 2).reshape(15, 15, 1)
print(with_swap[...,-1])
without_swap = A.reshape(15, 15, 1)
print(without_swap[...,-1])
With swap:
[[ 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5][ 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5][ 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5][ 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10][ 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10][ 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10][11 11 11 12 12 12 13 13 13 14 14 14 15 15 15][11 11 11 12 12 12 13 13 13 14 14 14 15 15 15][11 11 11 12 12 12 13 13 13 14 14 14 15 15 15][16 16 16 17 17 17 18 18 18 19 19 19 20 20 20][16 16 16 17 17 17 18 18 18 19 19 19 20 20 20][16 16 16 17 17 17 18 18 18 19 19 19 20 20 20][21 21 21 22 22 22 23 23 23 24 24 24 25 25 25][21 21 21 22 22 22 23 23 23 24 24 24 25 25 25][21 21 21 22 22 22 23 23 23 24 24 24 25 25 25]]
Without swap:
[[ 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2][ 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4][ 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5][ 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7][ 7 7 7 8 8 8 8 8 8 8 8 8 9 9 9][ 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10][11 11 11 11 11 11 11 11 11 12 12 12 12 12 12][12 12 12 13 13 13 13 13 13 13 13 13 14 14 14][14 14 14 14 14 14 15 15 15 15 15 15 15 15 15][16 16 16 16 16 16 16 16 16 17 17 17 17 17 17][17 17 17 18 18 18 18 18 18 18 18 18 19 19 19][19 19 19 19 19 19 20 20 20 20 20 20 20 20 20][21 21 21 21 21 21 21 21 21 22 22 22 22 22 22][22 22 22 23 23 23 23 23 23 23 23 23 24 24 24][24 24 24 24 24 24 25 25 25 25 25 25 25 25 25]]
Post a Comment for "Python Numpy How To Reshape This List Of Arrays/images Into A Collage?"