Il existe plusieurs modules pour ouvrir et traiter des images.
Pour traiter une image, celle-ci est souvent convertie en tableau numpy (matrice).
Chaque élément de la matrice correspond à un pixel et contient le codage couleur sous forme d’un tuple.
Tableau numpy issu d'un fichier image avec un codage R, G, B, A (bien noter le sens des axes) :
A chaque pixel de l'image correspond un tuple de valeurs (r,g,b,a).
Ces modules sont listés à titre indicatif (TIPE, usage personnel...).
Pour le TP en ligne qui suit, le module scikit-image sera utilisé.
L'installation de ces modules peut se faire dans le shell de Pyzo via le gestionnaire de modules pip (disponible dans Pyzo).
Avant toute installation, mettre à jour pip dans la console (shell) : pip install --upgrade pip
.
Site internet : imageio
Usage : lecture / écriture d'images issues de différents périphériques
(fichiers, animations, films, captures d'écran, webcams...).
Souvent utilisé avec des modules de traitement et d'affichage (scikit-image).
Installation : pip install imageio
Site internet : scikit-image
Usage : traitement d'images classiques et scientifiques
(détection de contour, de domaine pour comptage...).
Installation : préinstallé avec Pyzo.
Site internet : pillow
Usage : fonctions de traitement
(filtres, redimensionnement, rotation, modification pixel par pixel...). Les fichiers images ouverts avec pillow peuvent être convertis en tableaux numpy et affichés avec matplotlib.pyplot.
Installation : pip install Pillow
La conversion de l’image en tableau numpy permet de nombreuses manipulations, modifications de pixels, inversions (retournements), rotation à 90°, extraction de régions par slicing, redimensionnement, traitement des couleurs mais également des opérations beaucoup plus complexes (cf. par exemple scikit-image).
Le traitement de l'image nécessite donc des connaissances sur les tableaux numpy.