Exemple de comment sous-échantillonner une matrice en ne gardant qu'un seul élément tous les n * n blocs avec numpy?
Table des matières
Note: voir aussi how to do downsample a matrix by averaging elements n*n with numpy in python
Créer une matrice
import numpy as npa = np.random.randint(0,100,(6,6))print(a)print(a.shape)
donne par exemple
[[52 87 50 58 75 59][27 40 36 50 9 20][94 54 4 0 6 6][ 5 50 87 74 36 93][15 19 0 79 33 73][51 57 32 8 1 89]]
avec comme dimension
(6, 6)
Gardez un seul élément tous les $n \times n$ blocks
Pour sous-échantillonner une matrice, une solution simple consiste à slice, exemple:
a = a[1::2, 1::2]print(a)print(a.shape)
donne
[[40 50 20][50 74 93][57 8 89]]
avec comme dimension
(3, 3)
