Première partie : la superposition d'images
Fondamental : Présentation de l'activité :
Superposer deux images revient à réaliser une image « moyenne ». Cette construction est courante ; ainsi, l'image numérique que retient votre téléphone portable lorsque vous prenez une photo est une image qui est souvent obtenue à partir d'un savant calcul réalisé à partir de plusieurs prises de vue et non d'une seule. Ce processus permet à partir de plusieurs images d'atténuer certains défauts qui seraient plus visibles si l'on prenait une seule image.
Téléchargez le dossier suivant sur votre session :
[zip], puis décompressez[1] ce fichier dans votre dossier personnel et renommez le ainsi :
.
Dans ce dossier vous trouverez trois fichiers :
deux fichiers image : bateau.jpg et plage.jpg
un fichier python : module6.py
Vous ne devez jamais séparer ces deux fichiers.
Dans ce même dossier, vous créez un fichier Word , ou vous répondrez aux différentes questions posées durant l'activité.
Méthode : Je comprends un algoritme
Méthode : Ecriture du programme sous Python
from PIL import Image
im1=Image.open("bateau.jpg")
im2=Image.open("plage.jpg")
(c1,l1)=im1.size
(c2,l2)=im2.size
im1=im1.resize((int(c1/c1*c2),int(l1/c1*c2)))
(c1,l1)=im1.size
(C,L)= ((c1),min(l1,l2))
nouvelle_image=Image.new('RGB',(C,L))
for x in range(C): # Définir une variable x dans une boucle tel que x dans la plage de (0 à C-1) définisse la colonne concernée.
for y in range(L): # Définir une variable y dans une boucle tel que y dans la plage de (0 à L-1) définisse la ligne concernée.
p1=im1.getpixel((x,y))
p2=im2.getpixel((x,y))
if p1[0]<=10 and p1[1]>=200 and p1[2]<=10: # Tester la couleur verte du pixel P1
P=p2 # P1 est vert: définir un pixel P ayant pour valeur p2.
else:
P=p1 # P1 n'est pas vert: définir un pixel P ayant pour valeur p1.
nouvelle_image.putpixel((x,y),P)
nouvelle_image.save("test10.jpg")
affichage=Image.open("test10.jpg")
affichage.show()
Ajoutez, aux emplacements judicieux, les lignes de commentaires données dans le désordre (il faut insérer le commentaire sans oublier le symbole #, sinon la ligne sera considéré comme une ligne de code).
# Ajouter le pixel P dans la nouvelle image au coordonnées (x,y).
# Définir les nouvelles dimensions de l'image 1.
# Afficher la nouvelle image.
# Charger la nouvelle image.
# Créer l'image vide.
# Définir les dimensions de l'image vide C x L de sorte que C=c1 et L= (minimum entre l1 et l2).
# Définir les dimensions des deux images im2.
# Définir le pixel p2 de l'image 2 de coordonnée (x,y)
# Définir les dimensions des deux images im1
# Sauvegarder la nouvelle image.
# Définir le pixel p1 de l'image 1 de coordonnée (x,y)
# Importer le module image de la bibliothèque PIL du logiciel.
# Définir les deux images im2.
# Définir les deux images im1.
# Redimensionner l'image 1 de sorte que c1=c2 et l1 soit calculée en gardant ses proportions de l'image source.
Copier-coller le programme avec les commentaires ajoutés dans votre document Word
.
Exécuter le programme et présentez le résultat dans votre document Word
.