Etape 3 - programme Python

  • Dans le fichier module6.py , saisir le programme ci-dessous.

1
from PIL import Image
2
# affecter 2 objets avec les images initiales
3
img1=Image.open("bateau.jpg")
4
img2=Image.open("plage.jpg")
5
#créer les variables contenant les tailles des images initiales
6
(c1,l1)=img1.size
7
(c2,l2)=img2.size
8
9
# redimensionner l'image 1 de sorte que c1=c2 et l1 soit calculée en gardant ses proportions de l'image source.
10
img1=img1.resize((int(c2),int((l1/c1)*c2)))
11
(c1,l1)=img1.size
12
#créer les variables contenant les tailles de l'image assemblée
13
(C,L)= ((c1),min(l1,l2))
14
#créer l'objet pour l'image assemblée
15
ImgAss=Image.new('RGB',(C,L))
16
17
# Définir une variable x dans une boucle tel que x dans la plage de (0 à C-1) définisse la colonne concernée.
18
for x in range(C): 
19
# Définir une variable y dans une boucle tel que y dans la plage de (0 à L-1) définisse la ligne concernée.
20
    for y in range(L): 
21
        P1=img1.getpixel((x,y))
22
        P2=img2.getpixel((x,y))
23
24
        if P1[0]<=10 and P1[1]>=200 and P1[2]<=10: # Tester la couleur verte du pixel P1
25
            # P1 est vert: définir un pixel P ayant pour valeur P2.
26
            P=P2 
27
        else:
28
            # P1 n'est pas vert: définir un pixel P ayant pour valeur P1.
29
            P=P1 
30
        # Ajouter le pixel P dans la nouvelle image au coordonnées (x,y).
31
        ImgAss.putpixel((x,y),P)
32
33
# Sauvegarder l'image assemblée.
34
ImgAss.save("ImgAssemb.jpg")
35
36
# ouvrir et afficher l'image assemblée
37
affichage=Image.open("ImgAssemb.jpg")
38
affichage.show()

  • Tester le programme et valider le bon fonctionnement

Sur le DR :

  • Donner les noms des variables qui contiennent l'image 1, l'image 2 et l'image assemblée.

  • Valider le fonctionnement de l'algorithme.