python: notes d'étude de la bibliothèque PIL

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

 

Je suppose que tu aimes

Origine www.cnblogs.com/linjiaxin59/p/12695287.html
conseillé
Classement