Sciences Numériques et Technologiques

Thème 7 : La photographie numérique

7.7 : Création d'une image numérique par programmation

Présentation de l'activité

Prendre connaissance

Il est possible, à l'aide d'un logiciel adapté (comme www.photopea.com que nous avons utilisé dans plusieurs des activités précédentes), de modifier une image.

Pour certaines de ces modifications, en particulier celles qui concernent les couleurs, le logiciel utilise des algorithmes adaptés.

Dans cette activité, nous n'allons pas utiliser un logiciel de dessin, mais programmer directement quelques algorithmes de modification des couleurs d'une image en utilisant le langage Python.

Le code Python de base

Présentation

Prendre connaissance

Le langage de programmation Python permet de créer et modifier des images numériques.

Voici le code de base pour y parvenir.

from PIL import Image

# Création des constantes qui pourront être utilisées dans tout le programme
LARGEUR = 60
HAUTEUR = 40
BLANC = (255, 255, 255)
NOIR = (0, 0, 0)
ROUGE = (255, 0, 0)

# Création d'un objet programmable de type Image appelé imagePython
imagePython = Image.new('RGB', (LARGEUR, HAUTEUR), BLANC)

# Modification de quelques pixels de l'objet imagePython
imagePython.putpixel((0, 0), NOIR)
imagePython.putpixel((1, 0), NOIR)
imagePython.putpixel((2, 0), NOIR)

# Ouverture de l'objet imagePython dans un logiciel pour le visualiser
imagePython.show()

Le schéma ci-dessous précise la façon dont sont déterminées les coordonnées \((x, y)\) des pixels dans les objets de type Image.

Application n° 1

Application à faire à l'ordinateur

• Ouvrir le logiciel Thonny et copier-coller le code ci-dessus. Enregistrer le fichier avec le nom '7.7_prog1.py'.

• Lancer l'exécution du programme.

• Bien lire les commentaires du programme (lignes qui commencent par #) pour comprendre le code.

Application n° 2

Application à faire à l'ordinateur

• Dans le logiciel Thonny, ouvrir un nouveau fichier et y copier le code précédant. Enregistrer le fichier avec le nom '7.7_prog2.py'.

• Modifier le programme pour qu'il crée un objet de type Image :

Application n° 3

Application à faire à l'ordinateur

• Dans le logiciel Thonny, ouvrir un nouveau fichier et y copier le code de base. Enregistrer le fichier avec le nom '7.7_prog3.py'.

• Modifier le code pour que le programme crée l'image ci-dessous de 12 pixels de large sur 3 pixels de haut.

Utilisation des boucles

Application n° 4

Application à faire à l'ordinateur
from PIL import Image

# Chargement de l'image
LARGEUR = 12
HAUTEUR = 3
BLANC = (255, 255, 255)
NOIR = (0, 0, 0)
ROUGE = (255, 0, 0)

# Création d'un objet programmable de type Image appelé imagePython
imagePython = Image.new('RGB', (LARGEUR, HAUTEUR), BLANC)

# Modification de quelques pixels
for x in range(12): #
    imagePython.putpixel((x,0), ROUGE)

    # Ouverture de l'objet de type Image dans le logiciel pour la visualiser
imagePython.show()

La ligne 14 a deux effets :

A faire

• Ouvrir un nouveau fichier et y copier le code ci-dessus. Enregistrer le fichier avec le nom '7.7_prog4.py'

• Lancer l'exécution du programme.

• Modifier le code pour obtenir l'image de l'application n° 3.

Application n° 5

Application à faire à l'ordinateur

On souhaite obtenir l'image ci-dessous de 3 pixels de large et 36 pixels de haut.

A faire

• Ouvrir un nouveau fichier et y copier le code ci-dessus. Enregistrer le fichier avec le nom '7.7_prog5.py'

• Écrire le code qui permet d'obtenir l'image souhaitée.

Application n° 6 (difficile)

Application à faire à l'ordinateur

On souhaite obtenir une image de taille 300 sur 200, avec un fond blanc et un contour bleu.

A faire

• Ouvrir un nouveau fichier et y copier le code ci-dessus. Enregistrer le fichier avec le nom '7.7_prog6.py'

• Écrire le code qui permet d'obtenir l'image souhaitée.

Pour aller plus loin

Application n° 7

Application à faire à l'ordinateur

Créer le programme '7.7_prog7.py' qui permet d'obtenir une image de 50 pixels sur 50, à fond bleu avec une diagonale magenta descendante.

Application n° 8 (difficile)

Application à faire à l'ordinateur

Créer le programme '7.7_prog8.py' qui permet d'obtenir une image de 50 pixels sur 50, à fond bleu avec les deux diagonales en magenta.