Example of how to downsample a matrix by selecting only one element every $n \times n$ blocks with numpy:
Table of contents
Note: see also previous article how to do downsample a matrix by averaging elements n*n with numpy in python
Create a matrix
import numpy as npa = np.random.randint(0,100,(6,6))print(a)print(a.shape)
returns for example
[[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]]
with a shape of
(6, 6)
Keep only one element every $n \times n$ blocks
To downsample a matrix a simple solution is to slice the matrix, example:
a = a[1::2, 1::2]print(a)print(a.shape)
returns
[[40 50 20][50 74 93][57 8 89]]
with a shape of
(3, 3)
