Séance 2 - Comment Modifier Une Photo Numérique Élève
Séance 2 - Comment Modifier Une Photo Numérique Élève
Séance 2 - Comment Modifier Une Photo Numérique Élève
2°
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
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
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.
# 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”
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.
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