Le module PIL de python
Le module PIL (Python Image Library) de python permet de récupérer d'accéder à toutes les caractéristique d'une image (taille valeurs des pixels...) quel que soit son format.Dans la suite de notre travail sur le traitement d'image vous allez réaliser des fonctions qui changeront certaines caractéristiques d'images (pixels, dimensions etc...). Pour cela il faudra récupérer les données d'une image présente sur votre clef USB. L'image sera ensuite modifiée et il faudra pour finir, écrire un fichier image avec les nouvelles caractèristiques sur votre clef USB pour pouvoir lire facilement cette image avec un logiciel de traitement d'image ( Gimp par exemple). Pour cela deux nous utiliserons les fonctionnalités de PIL présentées ci-dessous.
Présentation de PIL
Voici les différentes fonctionnalités de PIL que vous devrez utiliser:
from PIL import Image
Pour importer le module Image
de PIL. Cette ligne est à ajouter au début de votre programme en python.
photo=Image.open("toto.jpg")
Pour ouvrir une image. Le fichier image doit être présent dans le même répertoire que le programme en python. L'objet photo (un objet est une sorte de "super variable" qui va contenir une multitude d'informations, mais nous verrons cela plus en détail bientôt) permettra d'accéder aux valeurs des pixels de l'image, aux dimension de l'image etc...
pixel=photo.getpixel((x,y))
Pour récupérer la (ou les) valeur(s) du pixel de coordonnées (x,y). La variable pixel
est un tuple contenant 3 valeurs correspondant aux composantes RVB
photo2.putpixel((32,29),(118,123,32))
Pour donner la valeur (118,123,32) au pixel de coordonnées (32,29) de l'objet image photo2. Cette méthode permettra de modifier les pixels d'une image.
taille=photo.size
Pour récupérer les dimensions d'une image, la variable retournée est un tuple contenant deux valeurs. la largeur sera ici taille[0] et la hauteur taille[1].
imagevide = Image.new('RGB', (100,200))
Pour créer une nouvelle image RGB de dimension 100x200
photo.save("titi.png")
Pour créer sauvegarder un objet image manipulable en python sous forme d'un fichier image, sur le disque dur ou la clef usb, dans le répartoire où se situe le fichier contenant le script python.
Dans les exemples précédents, les expressions
photo
, photo2
et imagevide
désignent des objets images manipulables grâce à PIL. On peut choisir pour ces objets n'importe quel nom plus en rapport avec le contexte du code.