Bonjour,
Suite à un autre topic sur ce forum, j'ai réussi à développer le code suivant :
Mon code génère bien les histogramme. Pour le premier de la liste de mon directory tout est bon mais pour le deuxième mon programme superpose les deux histogrammes, ce qui rend vite illisible l'histogramme de base. Par exemple ci dessous je vous affiche l'histogramme retourné pour la 4eme photo ( ou il y a 4 courbes) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 from PIL import Image import numpy as np import matplotlib.pyplot as plt import os directory = "/home/admin01/Images/test/" for root, dirs, files in os.walk(directory): for file in files: mon_image = Image.open(directory + file) hist = [] # ou hist = list() largeur,hauteur = mon_image.size for i in range(256): hist.append(0) for ligne in range(hauteur): for colonne in range(largeur): p = mon_image.getpixel((colonne,ligne)) n_gris = int((p[0]+p[1]+p[2])/3) hist[n_gris] = hist[n_gris]+1 n_abscisses = np.linspace(0,255,256) n_ordonnees = np.array(hist) plt.xlim(0,255) plt.plot(n_abscisses,n_ordonnees) plt.grid(True) plt.title('Densité de couleur de %s' %file) plt.savefig('/home/admin01/Images/histo/%s' %file) #plt.show() hist = []
Au début je pensais que c'était une erreur d'indentation mais je n'ai pas trouvé :/
Merci par avance de votre aide
Florian
Partager