Présentation de la bibliothèque PIL:
La bibliothèque PIL peut répondre aux exigences fonctionnelles d'archivage et de traitement d'images:
archivage d'images: traitement par lots d'images, génération d'aperçus d'images, conversion de format d'image, etc.;
traitement d'images: traitement d'image de base, traitement de pixels, traitement des couleurs, etc.
Bibliothèque d' images PIL Classe d'image:
de PIL Importer image m = Image.open ( " D: \\ picture.jpg " ) # lecture des fichiers photo
Générez des miniatures:
im.thumbnail ((128, 128)) # (128, 128) est la taille de la vignette. im.save ( « birdnestTN » , « JPEG » ) im.show () # vignettes d'affichage (vignettes ne peuvent pas simplement un double clic pour ouvrir, et peuvent être utilisés PIL.image la lecture ouverte, puis utilisez les écrans de méthode show ())
Rotation et zoom:
im.rotate (45) # Image.rotate (angle) faire pivoter l'image d'angle im.resize (128) # Image.resize (size) ajuster l'image par taille im.show ()
Échange de couleurs d'image
R & lt, G, B = im.split () # extrait de chaque canal de couleur de l'image RVB OM = Image.merge ( " RGB " , (B, G, R & lt)) # Les canaux sont chacun indépendamment une nouvelle image resynthèse om.save ( ' pictureBGR.jpg ' )
Filtrage et amélioration des images
Acquisition du contour de l'image:
depuis l' importation PIL Image depuis l' importation PIL ImageFilter im = Image.open ( " picture.jpg " ) om = im.filter (ImageFilter.CONTOUR) om.save ( ' pictureContour.jpg ' )
Ajustez la couleur, la luminosité, le contraste, la netteté
En relief
depuis l' importation PIL Image depuis l' importation PIL ImageFilter im = Image.open ( " picture.jpg " ) om = im.filter (ImageFilter.EMBOSS) om.save ( ' picture1.jpg ' )
Extraire chaque image d'animation
de la PIL Importer l' image IM = Image.open ( ' de .gif mobile figure ' ) # lit un fichier GIF l'essai : im.save ( ' PicFrame {:} .png 02d ' .format (im.tell ())) le tout en vrai : im.seek (im.tell () +1 ) im.save ( ' picframe {: 02d} .png ' .format (im.tell ())) sauf : print ( " fin du traitement " )
Peinture de caractères chinois
à partir de l' image d' importation PIL ascii_char = list ( 'La Chine est vraiment un grand pays ' ) def get_char (r, b, g, alpha = 256 ): if alpha == 0: return ' ' gray = int (0.2126 * r + 0.7152 * g + 0,0722 * b) unité = 256 / len (ascii_char) retour ascii_char [int (gris // unité)] def main (): im = Image.open ( ' pic.PNG ' ) LARGEUR, HAUTEUR = 100, 60 im = im.resize ((WIDTH, HEIGHT)) txt = "" for i in range (HEIGHT): for j in range (WIDTH): txt + = get_char (* im.getpixel ((j, i))) txt + = ' \ n ' fo = open ( " pic_char.txt " , " w " ) fo.write (txt) fo.close () main ()