Bac à sable Chaînes et listes Fonctions Numpy Piles Récursivité Tris

Traitement des images en Python

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) :

matrice

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.

Modules python

Module imageio

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

Module scikit-image

Site internet : scikit-image
Usage : traitement d'images classiques et scientifiques (détection de contour, de domaine pour comptage...).
Installation : préinstallé avec Pyzo.

Module pillow

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

Traitement avec Numpy

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.

❮ ❯