Aller au contenu

Algorithmes et programmes⚓︎

Sources et crédits pour ce cours

Pour préparer ce cours, j'ai utilisé :

Traitement d'image numérique⚓︎

Exercice 1

Objectif : Sélectionner des zones de pixels pour passer au négatif d'une image

  1. Se connecter Ă  son compte sur parcours-algorea.org.
  2. Dans le le parcours thématique Photographie numérique, faire l'exercice Rectangles inversés.

Exercice 2

Objectif : DĂ©couvrir la notion de calques dans un logiciel de traitement d'images

  1. Se connecter Ă  son compte sur parcours-algorea.org.
  2. Dans le parcours thématique Photographie numérique, faire l'exercice Autocollants.
  3. Compléter le texte à trous du Quiz - Traitement d'images.

Point de cours 5

Dans une image bitmap, chaque pixel est repéré par son abscisse et son ordonnée dans un repère dont l'origine est le coin supérieur gauche de l'image. L'axe des abscisses est orienté vers la droite et l'axe des ordonnées vers le bas.

alt

Source : site de CĂ©dric Gouygou

Un algorithme de traitement d'image parcourt la matrice de pixels et applique pour chaque pixel une transformation :

  • il peut modifier la valeur du pixel (nĂ©gatif d'une image par exemple)
  • il peut aussi dĂ©placer le pixel (flop d'une image par exemple)

NĂ©gatif d'une image

Le négatif d'une image bitmap est un traitement d'image qui associe à chaque pixel sa valeur complémentaire.

Type d'image Valeur du pixel NĂ©gatif du pixel
Noir et blanc \(0 \leqslant v \leqslant 1\) \(1-v\)
Niveaux de gris \(0 \leqslant v \leqslant 255\) \(255-v\)
Couleur \((r, v, b)\) avec \(0 \leqslant r, v ,b \leqslant 255\) \((255-r, 255- v, 255 -b)\)

L'algorithme est simple : on parcourt la matrice de pixels de l'image avec deux boucles imbriquées sur les abscisses et les ordonnées et on inverse chaque pixel.

đź“‹ Texte
Pour chaque abscisse x
    Pour chaque ordonnée y
        pixel en (x, y) prend pour valeur sa négation

alt

alt

Flop d'une image

Le flop d'une image bitmap est un traitement d'image qui déplace chaque pixel vers une nouvelle position qui est sa symétrique par rapport à l'un des bords verticaux de l'image.

L'algorithme est simple : on parcourt la matrice de pixels de l'image avec deux boucles imbriquées sur les abscisses et les ordonnées et on déplace chaque pixel. Cependant il faut créer une nouvelle image.

đź“‹ Texte
Création d'une  matrice de pixels d'une nouvelle image de mêmes dimensions 
Pour chaque abscisse x
    Pour chaque ordonnée y
        On affecte la valeur du pixel en (x, y) de l'image au pixel symétrique en (largeur $-$ x, y) dans la nouvelle image

alt

alt

Traitement d'image avec Python⚓︎

Exercice 3

Deux TP sont proposés, j'ai repris les excellents TP de David Landry qu'il a partagés sur Capytale :

  • Objectif : crĂ©er une image numĂ©rique, dĂ©couvrir les fonctions de manipulation de pixels : đź’» TP 1 sur Capytale.
  • Objectif : traitement plus avancĂ© d'images, parcours de matrice de pixels et sĂ©lection de zones de pixels : đź’» TP 2 sur Capytale.