aide pour programme python !

aide pour programme python ! - Python - Programmation

Marsh Posté le 04-03-2015 à 14:13:31    

Hello !
 
 
 
 
 
 
http://image.noelshack.com/minis/2015/10/1425474669-babar.png
 
Je dois faire un programme ou un personnage tient un ballon bleu et a partir d'un programme python on doit extraire les information RGB et changer seulement la couleur du ballon. Pour effectuer ceci j ai commencer un programme qui doit normalement fonctionner mais je ne comprend pas le soucis :

from PIL import Image
 
im1 = Image.open("babar.jpg" )
L, H = im1.size
 
im2 = Image.new("L",(L, H))
 
for y in range(H):
    for x in range(L):
 
        if  20 <= i[0] <= 30 and 45 <= i[1] <= 55 and 126 <= i[2] <= 136 :
 
            i[0]=255
            i[1]=0
            i[2]=0
 
 
nouvelleimage=Image.new('RGB',(640,480))
image.save("babar2.jpg" )

 
je crois que c'est parceque i n'est pas definit!
 
apres ce programme on doit mettre different personnage en decalage sur une frise comme celle ci et je n 'ai aucune idée sur la façon de faire :/
 
http://image.noelshack.com/minis/2015/10/1425474745-frise-babar.png
 
merci d'avance pour les infos que vous allez me proposer :)
 

Reply

Marsh Posté le 04-03-2015 à 14:13:31   

Reply

Marsh Posté le 04-03-2015 à 22:47:11    

Bah si ton problème c'est que ton i est pas défini, faudrait peut-être songer à le définir non? Et à altérer l'image (genre avec putpixel), pas juste à modifier les données que tu as lues de l'image?
 
Accessoirement, pour ta génération de frise je suggère de te créer un masque: une copie de ton image complètement transparente sauf à l'endroit où est le ballon. Ensuite tu peux utiliser paste ou (encore mieux) ImageDraw.Draw.bitmap pour combiner ton image originelle avec le masque… et changer la couleur du ballon avec un seul appel simple et rapide.
 
Et un autre coup de Image.paste pour coller le résultat dans une frise, en décalant chaque collage.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed