Bonsoir
J'aimerais créer en Python (2.4) créer un programme pour convertir une image en couleur en une image en nuances de gris. Pour ça je sais que pour un pixel il faut faire la moyenne des valeurs des trois couches (RGB) et appliquer cette valeur à ce pixel. Jusque là vous devriez pouvoir suivre; sauf que mon programme crée ce qui s'apparente à une nuance de rouge en fait, et je n'ai aucune idée de comment il peut en arriver là. Je vous copie le programme ici, et je vous donne un lien pour le télécharger si vous voulez le bidouiller:
nom = raw_input(str("Quel est le nom de l'image a importer?"))
import Image
im = Image.open(nom + ".jpg")
w,h=im.size
- on sépare les 3 couches
r,g,b=im.split()
r=list(r.getdata())
g=list(g.getdata())
b=list(b.getdata())
u=len(r)
q=range(u)
- on fait la moyenne des valeurs de chaque pixel
for i in range(u):
q[i]=int((r[i]+g[i]+b[i])/3)
- on code les pixels créés dans les pixels originaux
for i in range (0,u):
r[i] = int(q[i])
g[i] = int(q[i])
b[i] = int(q[i])
- on recrée les couches
nr = Image.new("L",(w,h))
nr.putdata(r)
ng = Image.new("L",(w,h))
nr.putdata(g)
nb = Image.new("L",(w,h))
nr.putdata(b)
- fusion des trois nouvelles images
imgnew = Image.merge('RGB',(nr,ng,nb))
imgnew.save("image ng.png")
https://www.dropbox.com/s/m33vrpw62v6tiji/creer%20image%20nuances%20de%20gris.py?dl=0
Merci de l'aide que vous pourrez m'apporter