Séance 2 - Comment Modifier Une Photo Numérique Élève

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 4

Séquence 1 : La photo numérique


FICHE SÉANCE 2

1
Problématique de la séance
Comment modifier une photo numérique avec Python ?
Contenus Capacités attendues
Profondeur de couleur, traitement d’image / affectation, - Traiter par programme une image pour la transformer
variable, boucle bornée en agissant sur les trois composantes de ses pixels
- Écrire et développer des programmes pour répondre à
des problèmes

ACTIVITÉ 1 : La profondeur d’une image numérique


Cliquer sur le lien pour visionner la vidéo : Lire la vidéo

Une image 24 bits (3x8 bits) peut afficher 28256 teintes différentes de rouge de vert et de bleu.

Compléter le tableau suivant des couleurs principales avec le triplet de valeurs qui convient, chaque
canal de couleur ayant soit l’intensité minimale (0) soit l’intensité maximale (255).
voir la synthèse additive de la couleur dans l’activité 1.
Bleu Rouge Bleu
+ + + Rouge + vert+bleu
Vert Vert Rouge

Couleur Noir Rouge Vert Bleu Cyan Jaune Magenta Blanc

Triplet (0,0,0) (255,0,0) (0,255,0) …………... …………... …………... …………... …………...

ACTIVITÉ 2 : Créer une image numérique avec le langage de programmation Python


Créer une image, de 150 pixels de large et 50 pixels de haut, d’une seule couleur
Lancer le logiciel “Thonny” puis copier les trois lignes de code ci-dessous
Enregistrer le fichier Python et le nommer « image_violette ». On obtient « image_violette.py ».

Créer un rectangle de 150 x 50 pixels de couleur violette (R=128, V=0, B=128)


Copier le script ci-dessous

Modifier votre script précédent pour obtenir un rectangle de couleur rouge (R=255,V=0,B=0) de
150x50 pixels.
Nommer cette nouvelle image « image_rouge »
Enregistrer le fichier Python et le nommer « image_rouge »
Vérifier le script (taille de l’image, couleur de l’image et le nom de l’image (image_rouge.jpg))
Exécuter le script.
2
ACTIVITÉ 3 : Modifier la couleur d’une image numérique avec le langage de
programmation Python

Il faut utiliser deux boucles pour (for) imbriquées pour parcourir une zone de pixels.

Modifier le programme précédent pour obtenir l’image ci-contre.

Modifier le programme précédent pour obtenir l’image ci-contre.


Modifier la ligne 5 du programme

ACTIVITÉ 4 : Modifier une image numérique avec le langage de programmation Python


Pour réaliser le négatif d’une photo de 384x384 pixels d’une profondeur de 24 bits par pixel (R:8 bits,
G:8 bits, B:8 bits), il faut récupérer pour chaque pixel les valeurs (R,V,B) et les retirer à 255. Les couleurs
RVB varient de 0 à 256.

Vous devez obtenir :

Copier et compléter le programme ci-dessous. Ne pas copier les commentaires.


# Importer le module Image de la librairie PIL

# Ouvrir l’image “joconde_384.jpg”

# Parcourir chaque pixel de l’image (ligne et colonne)

# Récupérer les valeurs (R,V,B) de chaque pixel et les affecter aux variables R, V et B

# Soustraire à 255 les valeurs R,V et B récupérées de chaque pixel et affecter le résultat dans la variable
“negatif_valeur”

# Remplacer chaque pixel avec leurs nouvelles valeurs contenues vdans la variable “negatif_valeur”

# Sauvegarder la nouvelle image obtenue

# Montrer la nouvelle image obtenue

Pour transformer une photo en couleur de 384x384 pixels d’une profondeur de 24 bits par pixel (R:8
3
bits, G:8 bits, B:8 bits) en noir et blanc, il faut récupérer pour chaque pixel les valeurs (R,V,B), les
ajouter et les diviser par 3 pour effectuer une moyenne.

Vous devez obtenir :

Reprendre le programme précédent et le modifier.


Ligne 5
# Récupérer les valeurs (R,V,B) de chaque pixel et les affecter sous forme de liste à la variable “valeurs”
valeurs=[R,V,B] est une liste - valeurs[0]=R, vlaleurs[1]=V, valeurs[2]=B

Ligne 6
# Calculer la moyenne des valeurs de chaque pixels et l’affecter dans la variable “moy”. Utiliser la
division entière (sans décimaux) avec le signe double divisé //

Ligne 7
# Remplacer chaque pixel par ses nouvelles valeurs

Sauvegarder la nouvelle image : “joco_noir_blanc.png. Montrer la nouvelle photo.

ACTIVITÉ 4 : Bilan des instructions utilisées en Python


- A quoi servent les boucles pour (for) imbriquées ? ……………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………….
- A quoi sert la fonction range(n) ? ………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………….
- A quoi sert l’instruction for x in range(n) ? ……………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………………………
- Qu’est-ce que « x » dans l’instruction for x in range(n) ? …………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………...
- Que peut-on stocker dans une variable ? ………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………………………
- A quoi sert l’instruction img.putpixel ? ………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………….
- A quoi sert l’instruction img.getpixel ? ………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………….

Vous aimerez peut-être aussi