Introduction Ouverture d’une image Traitement d’image Application de filtres
Traitement d’images
CHTOUKI Ahmed
[email protected]
CPGE Mohammed V Casablanca
CHTOUKI Ahmed Traitement d’images 1 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
1 Introduction
2 Ouverture d’une image
3 Traitement d’image
4 Application de filtres
CHTOUKI Ahmed Traitement d’images 2 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Introduction
C’est quoi une image ?
• Une image numérique est composée d’un tableau, ou matrice, de points colorés
appelés pixels. Chaque pixel est associé soit à un nombre (pour une image en
niveaux de gris), soit à un triplet (R, G, B) indiquant les quantités de rouge, vert et
bleu (pour une image en couleur).
• Chaque pixel contient une ou plusieurs valeurs numériques représentant :
- Intensité lumineuse (en niveaux de gris)
- Couleurs (valeurs RGB)
CHTOUKI Ahmed Traitement d’images 3 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
==
Introduction Ouverture d’une image Traitement d’image Application de filtre
• Une image numérique correspond aux dimensions de l’image exprimées en pixels,
sous la forme :
Largeur × Hauteur
• Exemple :
• Une image de largeur 1920 pixels (nombre de colonnes) et de hauteur 1080 pixels
(nombre de lignes) possède une définition de : 1920 × 1080.
CHTOUKI Ahmed Traitement d’images 4 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Introduction
Types d’images
Il y a trois types d’images numériques :
• Images binaires (noir et blanc) : chaque pixel prend soit la valeur 0 ou 1.
• Images niveau de gris: chaque pixel prend une valeur entiére entre 0 et 255.(ou un
réel entre 0 et 1)
• Images couleur: chaque pixel est un vecteur (liste) de trois valeurs entiéres entre 0
et 255.(ou un réel entre 0 et 1).
les couleurs sont construites à partir d’une combinaison de rouge, vert et bleu
(R,V,B) ou (RGB) en anglais.
CHTOUKI Ahmed Traitement d’images 5 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Le codage de la couleur et Pois d’image
• Le poids d’une image est déterminé par le produit du nombre total de pixels et du
poids de chaque pixel : Poids = Largeur × Hauteur × Nombre de bits par pixel
CHTOUKI Ahmed Traitement d’images 6 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Ouverture d’une image
En utilisant matplotlib
CHTOUKI Ahmed Traitement d’images 7 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Ouverture d’une image
Affichage d’image sous forme matricielle
CHTOUKI Ahmed Traitement d’images 8 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Ouverture d’une image
En utilisant le module Pil(Python Imaging Library)
Pillow est une bibliothèque de traitement d’image. Elle est conçue de manière à offrir
un accès rapide aux données contenues dans une image.
L’importation se fait avec une des commandes suivantes
• from PIL import *
• from PIL import Image
• import PIL.Image as im
CHTOUKI Ahmed Traitement d’images 9 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Ouverture d’une image
En utilisant le module Pil(Python Imaging Library)
CHTOUKI Ahmed Traitement d’images 10 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Ouverture d’une image
Remarque
La bibliothéque PIL ne lit pas l’image comme un tableau numpy comme matplotlib, il
faut la convertir manuellement.
• Transformation image vers numpy array : a = np.array(img)
• Transformation numpy array vers image : n = Image.fromarray(a)
CHTOUKI Ahmed Traitement d’images 11 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Traitement d’image
Traitements de base
Écrire une fonction AjouteCadre(img) qui prend en argument une image, et modifie
cette image de façon à ajouter sur celle-ci un cadre rouge de 5 pixel d’épaisseur.
CHTOUKI Ahmed Traitement d’images 12 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Traitement d’image
Solution:
CHTOUKI Ahmed Traitement d’images 13 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Traitement d’image
rotation 180 deg
Écrire une fonction Rotate(img) qui prend en argument une image et retourne l’image
en rotation 180 degrees.
Remarque: elle existe aussi une fonction nommée rotate du module PIL.
r = img.rotate(angle)
CHTOUKI Ahmed Traitement d’images 14 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Traitement d’image
Solution :
CHTOUKI Ahmed Traitement d’images 15 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Traitement d’image
Passage en niveau de gris
• Pour obtenir une image en niveaux de gris, il suffit que les valeurs des trois canaux
de couleur de chaque pixel soient égales.
• Il faut donc remplacer les valeurs des trois canaux par une unique valeur
représentant la luminosité du pixel.
• On remplace dans chaque pixel ces trois valeurs en utilisant la formule suivante :
0.2126 × rouge + 0.7152 × vert + 0.0722 × bleu (C’est pas la seule formule)
• Écrire une fonction CouleurToNivGris(img) qui prend en argument une image en
couleurs et la transforme en une image en niveaux de gris.
CHTOUKI Ahmed Traitement d’images 16 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Traitement d’image
Solution :
CHTOUKI Ahmed Traitement d’images 17 / 18
Introduction Ouverture d’une image Traitement d’image Application de filtres
Application de filtres
Introduction aux filtres à matrice de convolution
Nous avons vu beaucoup de traitements qui s’appliquaient séparément sur chaques
pixels. Mais pour obtenir une gamme plus large d’effets, on peut envisager que la
nouvelle couleur d’un pixel dépend non seulement de ancienne couleur de ce pixel,
mais également des pixels voisins. Dans cette situation, il n’est pas possible de modifier
directement l’image (pourquoi ?) Il faut donc créer une nouvelle image vide, dont on
pourra ensuite fixer la couleur de chaque pixel sans toucher à l’image originale.
CHTOUKI Ahmed Traitement d’images 18 / 18