Manipulation d’images

La plupart des techniques de traitement et de manipulation d’images peuvent être effectuées efficacement en utilisant deux bibliothèques: Python Imaging Library (PIL) et Open Source Computer Vision (OpenCV).

Une brève description des deux est donnée ci-dessous.

Bibliothèque Python Imaging Library (PIL)

LaPython Imaging Library, ou PIL, est l’une des bibliothèques de base pour la manipulation d’images en Python. Malheureusement, son développement a stagné, avec sa dernière version en 2009.

Heureusement pour vous, il y a un fork développé activement de PIL appeléPillow - il est plus facile à installer, fonctionne sur tous les systèmes d’exploitation, et supporte Python 3.

Installation

Avant d’installer Pillow, vous devrez installer les prérequis pour Pillow. Vous trouverez les instructions de votre plate-forme dans lesinstructions d’installation de Pillow.

Après cela, c’est direct:

$ pip install Pillow

Exemple

fromPILimportImage,ImageFilter#Read imageim=Image.open('image.jpg')#Display imageim.show()#Applying a filter to the imageim_sharp=im.filter(ImageFilter.SHARPEN)#Saving the filtered image to a new fileim_sharp.save('image_sharpened.jpg','JPEG')#Splitting the image into its respective bands, i.e. Red, Green,#and Blue for RGBr,g,b=im_sharp.split()#Viewing EXIF data embedded in imageexif_data=im._getexif()exif_data

Il y a plus d’exemples pour la bibliothèque Pillow dans letutoriel Pillow.

OpenSource Computer Vision (OpenCV)

OpenSource Computer Vision, plus connu comme OpenCV, est un logiciel plus avancé de manipulation et de traitement d’images que PIL. Il a été implémenté en plusieurs langages et est largement utilisé.

Installation

En Python, le traitement d’image en utilisant OpenCV est implémenté en utilisant les modulescv2 etNumPy. Lesinstructions d’installation pour OpenCV devrait vous guider dans la configuration du projet pour vous-même.

NumPy peut être téléchargé à partir du Python Package Index (PyPI):

$ pip install numpy

Exemple

fromcv2import*importnumpyasnp#Read Imageimg=cv2.imread('testimg.jpg')#Display Imagecv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()#Applying Grayscale filter to imagegray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#Saving filtered image to new filecv2.imwrite('graytest.jpg',gray)

Il y a plus d’exemples d’OpenCV implémentés en Python dans cettecollection de tutoriels.