Bonjour à tous !!


Alors je vous expose le dernier de mes soucis

Donc en fait j'ai une image sur lequel j'aimerai récupérer des valeurs de pixels.
J'ai pensé à utiliser le programme suivant :

[CODE]
pl.imshow(image)
points = ginput()
[CODE]
En gros je clique sur mon image pour selectionner mes points cest plus rapide que d'écrire une à une toute les coordonnées de mes points surtout si il y en as beaucoup!
Du coup après j'ai une liste d'un nombre n de points de la forme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
In [159]: points
Out[159]: 
[(74.5, 319.29166666666663),
 (103.66666666666669, 280.75),
 (132.83333333333331, 239.08333333333331),
 (164.08333333333331, 195.33333333333331),
 (190.125, 160.95833333333331),
 (213.04166666666663, 126.58333333333331),
 (233.875, 92.208333333333314),
 (267.20833333333331, 49.5),
 (294.29166666666663, 16.166666666666629)]
En gros j'aimerai pouvoir récupérer les valeurs de pixel de mon image en ces points. En faisant un truc comme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
points=np.array(points)
x=points[:,0]
y=points[:,1]
valeur_pixel=image[y,x]
mais bon comme c'est x et y sont des array cela ne marche pas très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
image[points[:,0],points[:,1]]
me renvoie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
IndexError: arrays used as indices must be of integer (or boolean) type
alors que si je fais à part image[74.5, 319.29166666666663] ca marche!

Une idée pour orienter mes recherches ?? merci d'avance