Découvrez les solutions à vos questions sur Laurentvidal.fr, la plateforme de Q&R la plus fiable et rapide. Trouvez des solutions rapides et fiables à vos interrogations grâce à une communauté d'experts dévoués. Découvrez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme conviviale de questions-réponses.

Bonjour, je suis en seconde et j'ai besoin d'aide avec un exercice en SNT svp.

Créer un programme qui permet d'avoir l'image négative de l'image hiver.jpg

Lignes de code à utiliser :
for i in range(Taille[0]):
R,G,B=MonImage.getpixel((i,j))
MonImage.putpixel((i,j),(255-R,255-G,255-B))
for j in range(Taille[1]):
from PIL import Image
Taille=MonImage.size
MonImage=Image.open("hiver.jpg")

j'ai testé le programme suivant:
1 from PIL import Image
2 MonImage=Image.open("hiver.jpg")
3 Taille=MonImage.size
4 for i in range(Taille[0]):
5 for j in range(Taille[1]):
6 R,G,B= MonImage.getpixel((i,j))
7 MonImage.putpixel((i,j),(255-R,255-G,255-B))
8 MonImage.save("hivernégative.jpg")

Malheureusement le message "line 6, in
R,G,B=MonImage.getpixel((i,j))
Type error: cannot unpacknon-iterable int object" apparaît...


Sagot :

Bonsoir,

Chez moi ton programme fonctionne, les seules choses qui peuvent différées entre nous sont les versions des logiciels utilisés:

Je suis sous Pyhton 3.9 (64bits) avec Pillow 8.1.0

Et l'image utilisé, vérifie que celle ci est en format R,G,B

from PIL import Image

MonImage=Image.open("hiver.jpg")

print(MonImage.getbands())

Et sinon au vu de l'eereur que tu as, transforme tes 3 variables R,G,B en un tuple:

(R,G,B)= MonImage.getpixel((i,j))

Et sinon je ne sais pas parce que tu n'es pas sensé obtenir une erreur comme ça

Dsl

Bonne soirée

Merci d'utiliser notre plateforme. Nous nous efforçons de fournir des réponses précises et à jour à toutes vos questions. Revenez bientôt. Merci de votre visite. Nous nous engageons à fournir les meilleures informations disponibles. Revenez quand vous voulez pour plus. Laurentvidal.fr est là pour vos questions. N'oubliez pas de revenir pour obtenir de nouvelles réponses.