Exemple de comment sélectionner dans une matrice un indice donnée et ses voisins avec numpy en python
Table des matières
Créer une matrice avec numpy
Créons une matrice de dimension (6,6):
import numpy as np
A = np.arange(36)
A = A.reshape(6,6)
print(A)
donne
[[ 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 27 28 29]
[30 31 32 33 34 35]]
Sélectionner un indice donnée et ses voisins
Sélectionnons par exemple l'indice (3,4):
index = [3,4]
la valeur associée à l'indice ci-dessus est:
print(A[3,4])
22
Pour sélectionner les premiers voisins à partir de cet index, une solution est de faire comme ceci:
num_neighbor = 1
left = max(0,index[0]-num_neighbor)
right = max(0,index[0]+num_neighbor+1)
bottom = max(0,index[1]-num_neighbor)
top = max(0,index[1]+num_neighbor+1)
sample = A[left:right,bottom:top]
print(sample)
donne
[[15 16 17]
[21 22 23]
[27 28 29]]