from PIL.Image import * from bibV3 import * #### #exercice 1 def mystere(img, c): (large,haut) = img.size for i in range(large): j = i//2 Image.putpixel(img, (i,j), c) monImage = new("RGB",(5,4)) mystere(monImage, (0,0,255)) # Q1 # i | 0 | 1 | 2 | 3 | 4 # j | 0 | 0 | 1 | 1 | 2 # Q2 # ----- #|XX | #| XX | #| X| #| | # ----- # Q3 # bleu #### # Exercice 2 def bordure (img, c): (large,haut) = img.size for x in range (large): Image.putpixel(img, (x, 0), c) # ligne horizontale du haut Image.putpixel(img, (x, haut-1), c) # ligne horizontal du bas for y in range (haut): Image.putpixel(img, (0, y), c) # ligne verticale de gauche Image.putpixel(img, (large-1, y), c) # ligne verticale de droite monImage = new("RGB",(200,300)) bordure(monImage, (255,0,255)) Image.show(monImage) #### # Exercice 3 # Q1 def nbVoisinsDegre(s, d): nb = 0 for p in listeVoisins(s): if degre(p) == d: nb = nb + 1 return nb print(nbVoisinsDegre(sommetNom(tgv2005,'Paris'),4)) # 3 voisins de Paris ont degré 3 : Montpellier, Marseille, Nantes # Q2 def tousSommetsDegre(G, d): for s in listeSommets(G): if degre(s) != d: return False return True #### # Exercice 4 def bleuRouge(G): for s in listeSommets(G): for t in listeVoisins(s): if couleurSommet(s) == 'blue' and couleurSommet(t) == 'red': return True return False #### # Exercice 5 def luminosite(img): sommeLum = 0 (large, haut) = img.size for x in range(large): for y in range(haut): (r,g,b) = Image.getpixel(img, (x,y)) sommeLum = sommeLum + (r+g+b)/3 return sommeLum/(large*haut) #### # Exercice 6 # Q1 def assembler(imgGauche, imgDroite): (largeGauche, hautGauche) = imgGauche.size (largeDroite, hautDroite) = imgDroite.size imgResultat = new ("RGB", (largeGauche + largeDroite, hautGauche)) # Remarque : hautGauche == hautDroite for y in range(hautGauche): for x in range(largeGauche): c = Image.getpixel(imgGauche,(x, y)) Image.putpixel(imgResultat, (x, y), c) for x in range(largeDroite): c = Image.getpixel(imgDroite,(x, y)) Image.putpixel(imgResultat, (largeGauche + x, y), c) return imgResultat # Q2 def assemblerTrois(imgGauche, imgCentre, imgDroite): return assembler(assembler(imgGauche, imgCentre), imgDroite)