Python PIL et Gimp 2

Fermé
Leen_05 - 11 juil. 2013 à 10:30
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 juil. 2013 à 12:57
Bonjour,
donc voilà j'ai un programme à faire pour inverser les niveaux de gris!
Voici lénoncé:
Pour inverser les contrastes d'une image en niveaux de gris, il suffit d'appliquer à chaque pixel x la valeur 255-x. Le blanc devient noir et vice-versa.
Définir une fonction inversion (x) qui à tout nombre x associe le réel 255-x.
L'utiliser dans un programme que vous nommerez "contraste.py" qui inverse les niveaux de gris de l'image "totem512.pgm".

Voilà ce que j'ai fait:

import fonction_inversion_x
from PIL import Image
im=Image.open("totem512.pgm")
for i in range(0,512):
b=i
i=i+1
for i in range(0,512):
c=i
fonction_inversion_x.inversion(x)
im.putpixel((b,c),x)
i=i+1
im.save('tpnum.jpg')
im.show()

et ma fonction:

def inversion(x):
x=255-x
return(x)

il me dit qu'il ne connait pas x et aussi je ne suis pas sûr s'il faut que j'utilise cette forme là: im.putpixel((b,c),x)!

Merci pour votre aide!


A voir également:

1 réponse

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 juil. 2013 à 12:57
Salut.
Alors, si tu n'utilises pas les balises de code pour l'édition de ton message, les indentations ne sont pas conservés. Et sans indentation, un code python perd tout son sens. J'ai l'impression que tu fais beaucoup d'erreurs.
C'est normal qu'il rale sur x. Il vaut quoi x ???
question, en python les passage en argument sont par copie ou par référence. Selon la réponse, ta fonction est soit bonne soit mal utilisée.
0