Sciences Numériques et Informatiques

Lycée Edmé Bouchardon
Stéphane Jouaire

Modifier la géométrie d'une image numérique

Attention : l'affichage du résultat des programmes peut prendre un peu de temps ...

I. Symétries

1. Réflexion verticale

Il s'agit de retourner une image afin que ce qui est à gauche passe à droite et inversement. Les dimensions de l'image sont inchangée : on appelle L sa largeur et h sa hauteur exprimées en pixels. Le tableau correspondant à l'image contiendra L colonnes et h ligne. Un pixel de la 1ère colonne (indice 0 du tableau) devra se retrouver dans la dernière colonne (indice L-1, - 1 car la numérotation commence à 0), un pixel de la 2ème colonne ( indice 1) dans l'avant dernière (indice L-1 -1), etc... Donc plus généralement un pixel de la colonne de valeur x se retrouver dans la colonne L-1-x.
Remarque :

On travaillera sur l'image mascotte.png (à télécharger, clic droit, enregistrer sous... et à placer dans le même dossier que votre programme python) pour voir les effets des algorithmes :

2. La symétrie horizontale

Reprendre le programme précédent et le modifier pour que la symétrie soit horizotale, c'est à dire que le haut de l'image se retrouve en bas et inversement.

3. La symétrie centrale

Reprendre le programme précédent et le modifier pour que la symétrie soit centrale, c'est à dire que la droite de l'image se retrouve à gauche (et inversement) et que lle haut de l'image se retrouve en bas (et inversement).

II. Rotations

1. La rotation à gauche

Il s'agit de faire tourner l'image vers la gauche. Largeur et hauteur de l'image sont échangées. Une ligne de l'image initiale parcourue de gauche à droite devient une colonne de l'image finale parcourue de bas en haut donc à l'envers par rapport aux indices.

2. La rotation à droite

Il s'agit de faire tourner l'image vers la droite. Largeur et hauteur de l'image sont à nouveau échangées. En vous inspirant du programme précédent, écrire un programme permettant de réaliser une rotation à droite.

Que se passe-t-il si on applique 2 rotations successives ? A quelle symétrie déjà réalisée cela correspond-il ?

(c)Stéphane Jouaire, SNT 2019