Arbejde med billeder i Python

Arbejde med billeder i Python

PIL er Python Imaging Library, som giver python-fortolkeren billedredigeringsmuligheder. Den er udviklet af Fredrik Lundh og flere andre bidragydere. Pillow er den venlige PIL-gaffel og et brugervenligt bibliotek udviklet af Alex Clark og andre bidragydere. Vi arbejder med Pillow.

Installation:

  • Linux: Skriv følgende på linux terminal:
     pip install Pillow  Installation af pip via terminal:  
     sudo apt-get update   
    sudo apt-get install python-pip
  • Windows: Download den passende pudepakke i henhold til din pythonversion. Sørg for at downloade i henhold til den python-version, du har.

Vi vil arbejde med billedmodulet her, som giver en klasse af samme navn og giver en masse funktioner til at arbejde på vores billeder. For at importere billedmodulet skal vores kode begynde med følgende linje:

  from PIL import Image  

Operationer med billeder:

  • Åbn et bestemt billede fra en sti: Python
       #img = Image.open(path)    # On successful execution of this statement   # an object of Image type is returned and stored in img variable)   try  :   img   =   Image  .  open  (  path  )   except   IOError  :   pass   # Use the above statement within try block as it can    # raise an IOError if file cannot be found    # or image cannot be opened.   
  • Hent størrelsen på billedet : De forekomster af billedklassen, der oprettes, har mange attributter, en af ​​dens nyttige attribut er størrelse. Python
       from   PIL   import   Image   filename   =   'image.webp'   with   Image  .  open  (  filename  )   as   image  :   width     height   =   image  .  size   #Image.size gives a 2-tuple and the width height can be obtained   
    Nogle andre attributter er: Image.width Image.height Image.format Image.info osv.
  • Gem ændringer i billedet: For at gemme eventuelle ændringer, du har foretaget i billedfilen, skal vi angive sti såvel som billedformat. Python
       img  .  save  (  path     format  )   # format is optional if no format is specified    #it is determined from the filename extension   
  • Rotation af et billede: Billedrotationen skal bruge vinkel som parameter for at få billedet roteret. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #Angle given   img   =   img  .  rotate  (  180  )   #Saved in the same relative location   img  .  save  (  'rotated_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    rotere et billede i python Bemærk: Der er et valgfrit ekspansionsflag tilgængeligt som et af argumenterne for rotationsmetoden, som, hvis den er sat sand, udvider outputbilledet for at gøre det stort nok til at holde hele det roterede billede. Som det ses i ovenstående kodestykke har jeg brugt en relativ sti, hvor mit billede er placeret i samme mappe som min python-kodefil, en absolut sti kan også bruges.
  • Beskæring af et billede: Image.crop(box) tager en 4-tuple (venstre øverste højre nederste) pixelkoordinat og returnerer et rektangulært område fra det brugte billede. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   width     height   =   img  .  size   area   =   (  0     0     width  /  2     height  /  2  )   img   =   img  .  crop  (  area  )   #Saved in the same relative location   img  .  save  (  'cropped_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    beskære et billede i python
  • Ændre størrelse på et billede: Image.resize(size)- Her er størrelsen angivet som en 2-tuples bredde og højde. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   width     height   =   img  .  size   img   =   img  .  resize  ((  width  /  2     height  /  2  ))   #Saved in the same relative location   img  .  save  (  'resized_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    ændre størrelsen på et billede i python
  • Indsættelse af et billede på et andet billede: Det andet argument kan være en 2-tupel (angiver øverste venstre hjørne) eller en 4-tuple (venstre øverste højre nederst) - i dette tilfælde skal størrelsen på det indsatte billede matche størrelsen på denne boksregion eller Ingen, som svarer til (0 0). Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   #Image on which we want to paste   img   =   Image  .  open  (  'picture.webp'  )   #Relative Path   #Image which we want to paste   img2   =   Image  .  open  (  'picture2.webp'  )   img  .  paste  (  img2     (  50     50  ))   #Saved in the same relative location   img  .  save  (  'pasted_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   ##An additional argument for an optional image mask image is also available.   
    indsætte et billede på andet i Python
  • Sådan får du et histogram af et billede: Dette vil returnere et histogram af billedet, da en liste over pixel tæller én for hver pixel i billedet. (Et histogram af et billede er en grafisk repræsentation af tonefordelingen i et digitalt billede. Det indeholder, hvad alle lysstyrkeværdierne i et billede er. Det plotter antallet af pixels for hver lysstyrkeværdi. Det hjælper med at udføre eksponeringsindstillingerne.) fra PIL import Image Python
       def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #Getting histogram of image   print   img  .  histogram  ()   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    få-et-histogram-af-billede-i-python-kopi


  • Transponering af et billede: Denne funktion giver os et spejlbillede af et billede Python
        from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #transposing image    transposed_img   =   img  .  transpose  (  Image  .  FLIP_LEFT_RIGHT  )   #Save transposed image   transposed_img  .  save  (  'transposed.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    transponering af et billede i python
  • Opdel et billede i individuelle bånd: Opdeling af et billede i RGB-tilstand skaber tre nye billeder, der hver indeholder en kopi af de originale individuelle bånd. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #splitting the image   print   img  .  split  ()   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    opdele et billede i python
  • tobitmap: Konvertering af et billede til en X11 bitmap (Et almindeligt tekst binært billedformat). Det returnerer en streng, der indeholder en X11 bitmap, den kan kun bruges til tilstand 1 billeder, dvs. 1 bit pixel sort/hvid billeder. fra PIL import billede Python
       def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   print   img  .  mode   #converting image to bitmap   print   img  .  tobitmap  ()   print   type  (  img  .  tobitmap  ())   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    konvertere billede til bitmap i python konvertere billede til bitmao i python
  • Oprettelse af et miniaturebillede: Denne metode opretter et miniaturebillede af det billede, der åbnes. Det returnerer ikke et nyt billedobjekt, det foretager en ændring på stedet til selve det aktuelt åbnede billedobjekt. Hvis du ikke ønsker at ændre det originale billedobjekt, skal du oprette en kopi og derefter anvende denne metode. Denne metode vurderer også, hvad der er passende for at opretholde billedformatet i henhold til den passerede størrelse. fra PIL import billede Python
       def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #In-place modification   img  .  thumbnail  ((  200     200  ))   img  .  save  (  'thumb.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    oprette thumbnail af billede i python
Opret Quiz