from PIL import Image image = Image.open("photo.jpg") #---------------------------------# #Dimension ecran 380x192 #---------------------------------# #N'oubliez pas de change multi aussi dans "liste --> dessin" multi = 7 #Une foi executé copier la liste et créez une liste "liste =" dans "liste --> dessin" print("Step 1...") def redimensionner(img,largeur,hauteur): new_img = Image.new('RGB',(largeur,hauteur)) largeur_img, hauteur_img = img.size largeur_pix = largeur_img // largeur hauteur_pix = hauteur_img // hauteur for y_new in range (hauteur): for x_new in range (largeur): moyenneR = 0 moyenneV = 0 moyenneB = 0 for y in range (hauteur_pix*y_new,hauteur_pix*(y_new+1)): for x in range (largeur_pix*x_new,largeur_pix*(x_new+1)): R,V,B = img.getpixel((x,y)) moyenneR += R moyenneV += V moyenneB += B moyenneR = moyenneR // (hauteur_pix * largeur_pix) moyenneV = moyenneV // (hauteur_pix * largeur_pix) moyenneB = moyenneB // (hauteur_pix * largeur_pix) new_img.putpixel((x_new,y_new),(moyenneR,moyenneV,moyenneB)) return new_img image = redimensionner(image,round(380/multi),round(192/multi)) print("Step 1 done") print("Step 2...") def convert(img): largeur_img, hauteur_img = img.size liste = [[] for i in range(hauteur_img)] for i in range (hauteur_img): for j in range (largeur_img): pas = 1 R,V,B = img.getpixel((j,i)) #(24,235,213) R,V,B = R+0.01,V+0.01,B+0.01 R,V,B = round(R/255,1), round(V/255,1), round(B/255,1) liste[i].append([(R,V,B),pas]) return liste liste = convert(image) print("Step 2 done") print("Step 3...") def simplification(img,lst): largeur_img, hauteur_img = img.size new_lst = [[] for i in range(hauteur_img)] for i in range (hauteur_img): for j in range (largeur_img): pas = 1 if j == 0 or lst[i][j] != lst[i][j-1]: while j != largeur_img and pas != largeur_img-j and lst[i][j] == lst[i][j+pas] : pas += 1 new_lst[i].append([lst[i][j][0],pas]) return new_lst liste = simplification(image,liste) print("Step 3 done") print(liste) image.show()