S1.4 - Traitement d'une image par programmation
Jusqu'à quel point les photos qu'on voit sur les médias sociaux et dans les magazines sont-elles retouchées ?
Découvrir l'interface Capytale
Vous allez travailler sur les pixels d'une image en utilisant le langage de programmation Python.
Pour cela vous programmerez dans un éditeur en ligne accessible depuis l'ENT : Capytale
- Télécharger la photo de la pomme
- Ouvrir Capytale (suivre les indications de votre professeur 😉 )
- puis réaliser les activités 1 à 4 du document de travail à l'aide des tutos et aides ci-dessous.
Activité 1 -
Saisir le code suivant, le commenter dans le tableau et lancer son exécution
| from PIL import Image | ................................................................. |
| img = Image.open("pomme.jpg") | |
| r,v,b=img.getpixel((100,250)) | |
| print ("rouge : ",r, "vert : ",v, "bleu : ", b) |
1.1 - Qu'est ce qui s'affiche dans la fenêtre console ?
1.2 - Modifiez le programme pour qu'il affiche les valeurs du rouge, du vert et du bleu du pixel de coordonnées (250,300)
1.3 - Comment intituler cette activité ?
Activité 2 -
Saisir le code suivant, le commenter dans le tableau et lancer son exécution
| from PIL import Image | |
| img = Image.open("pomme.jpg") | |
| img.putpixel((250,250),(255,0,0)) | |
| img.save("pommepixelr.bmp") | ........................................................................ |
| img.show( ) |
2.1 - Regardez attentivement le centre de l'image, vous devriez voir un pixel rouge à la place d'un pixel vert.
2.2 - Modifiez le programme afin de colorier le pixel de coordonnées (100,250) en bleu.
2.3 - Comment intituler cette activité ?
Activité 3 -
Saisir et tester le programme suivant.
(ATTENTION : l'exécution de ce programme n'est pas très intéressante en soi, vous pouvez l'arrêter à tout moment en appuyant simultanément sur la touche Ctrl et sur la touche C)
- from PIL import Image
- img = Image.open("pomme.jpg")
- largeur_image=500
- hauteur_image=500
- for y in range(hauteur_image):
- for x in range(largeur_image):
- r,v,b=img.getpixel((x,y))
- print("rouge : ",r)
- print("vert : ",v)
- print("bleu : ",b)
- for x in range(largeur_image):
- print ("fin")
3.1 - Expliquer en quelques mots ce que fait ce programme.
3.2 - Comment intituler cette activité ?
Activité 4 -
Saisir et tester le programme suivant
- from PIL import Image
- img = Image.open("pomme.jpg")
- largeur_image=500
- hauteur_image=500
- for y in range(hauteur_image):
- for x in range(largeur_image):
- r,v,b=img.getpixel((x,y))
- n_r=v
- n_v=b
- n_b=r
- img.putpixel((x,y),(n_r,n_v,n_b))
- for x in range(largeur_image):
- img.save("pommeviolet.bmp")
- img.show( )
4.1 - Expliquer en quelques mots ce que fait ce programme.
4.2 - Comment intituler cette activité ?
Activité 5 - Négatif d'une image
Vous allez maintenant, modifier le programme pour obtenir le négatif de l'image de la pomme.
Après avoir fait quelques recherches sur le négatif d'une image
- Aller dans Capytale,
- Entrer le code pour votre classe
- Modifier le programme
- Afficher l'image l'obtenue
- Cliquer sur "enregistrement"
- Cliquer sur "rendre ce travail"
| classe | 2nde1 | 2nde2 | |
| code | 6488-2342322 | 608f-2342281 |
Activité 6 - Autre modification d'une image
- Aller dans Capytale,
- Entrer le code pour votre classe
- Exécuter le programme
- Afficher l'image l'obtenue
- Commenter chaque ligne du programme
- Cliquer sur "enregistrement"
- Cliquer sur "rendre ce travail"
| classe | 2nde1 | 2nde2 | |
| code | 06b3-2342362 | 5f15-2342361 |
Activité 7 - Image en niveau de gris
Comme pour l’activité 5, écrire un programme qui transforme une "image couleur" en une "image en niveau de gris".
NB : en Python pour avoir une division entière, il faut utiliser l'opérateur // à la place de l'opérateur /
| classe | 2nde1 | 2nde2 | |
| code | e19e-2342385 | 79dc-2342390 |