Arbeiten mit Bildern in Python

Arbeiten mit Bildern in Python

PIL ist die Python Imaging Library, die dem Python-Interpreter Bildbearbeitungsfunktionen bietet. Es wurde von Fredrik Lundh und mehreren anderen Mitwirkenden entwickelt. Pillow ist der benutzerfreundliche PIL-Fork und eine benutzerfreundliche Bibliothek, die von Alex Clark und anderen Mitwirkenden entwickelt wurde. Wir werden mit Pillow zusammenarbeiten.

Installation:

  • Linux: Geben Sie auf dem Linux-Terminal Folgendes ein:
     pip install Pillow  Pip über Terminal installieren:  
     sudo apt-get update   
    sudo apt-get install python-pip
  • Windows: Herunterladen das entsprechende Pillow-Paket entsprechend Ihrer Python-Version. Stellen Sie sicher, dass Sie entsprechend Ihrer Python-Version herunterladen.

Wir werden hier mit dem Image-Modul arbeiten, das eine gleichnamige Klasse bereitstellt und viele Funktionen für die Arbeit an unseren Bildern bereitstellt. Um das Image-Modul zu importieren, sollte unser Code mit der folgenden Zeile beginnen:

  from PIL import Image  

Operationen mit Bildern:

  • Öffnen Sie ein bestimmtes Bild aus einem Pfad: 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.   
  • Größe des Bildes abrufen : Die erstellten Instanzen der Image-Klasse verfügen über viele Attribute. Eines ihrer nützlichen Attribute ist die Größe. 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   
    Einige andere Attribute sind: Image.width Image.height Image.format Image.info usw.
  • Änderungen im Bild speichern: Um alle Änderungen, die Sie an der Bilddatei vorgenommen haben, zu speichern, müssen wir sowohl den Pfad als auch das Bildformat angeben. Python
       img  .  save  (  path     format  )   # format is optional if no format is specified    #it is determined from the filename extension   
  • Ein Bild drehen: Die Bilddrehung benötigt den Winkel als Parameter, um das Bild zu drehen. 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  ()   
    Drehen eines Bildes in Python Hinweis: Als eines der Argumente der Rotationsmethode steht ein optionales Erweiterungsflag zur Verfügung, das, wenn es auf „true“ gesetzt ist, das Ausgabebild so erweitert, dass es groß genug ist, um das vollständig gedrehte Bild aufzunehmen. Wie im obigen Codeausschnitt zu sehen ist, habe ich einen relativen Pfad verwendet, bei dem sich mein Bild im selben Verzeichnis wie meine Python-Codedatei befindet. Es kann auch ein absoluter Pfad verwendet werden.
  • Ein Bild zuschneiden: Image.crop(box) nimmt eine 4-Tupel-Pixelkoordinate (links oben, rechts unten) und gibt einen rechteckigen Bereich aus dem verwendeten Bild zurück. 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  ()   
    Zuschneiden eines Bildes in Python
  • Größe eines Bildes ändern: Image.resize(size) – Hier wird die Größe als 2-Tupel-Breite und -Höhe angegeben. 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  ()   
    Ändern der Größe eines Bildes in Python
  • Ein Bild in ein anderes Bild einfügen: Das zweite Argument kann ein 2-Tupel (Angabe der oberen linken Ecke) oder ein 4-Tupel (links oben rechts unten) sein – in diesem Fall muss die Größe des eingefügten Bildes mit der Größe dieses Boxbereichs übereinstimmen oder „Keine“, was (0 0) entspricht. 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.   
    Einfügen eines Bildes in ein anderes in Python
  • Ein Histogramm eines Bildes erhalten: Dadurch wird ein Histogramm des Bildes als Liste mit Pixelanzahlen zurückgegeben, eins für jedes Pixel im Bild. (Ein Histogramm eines Bildes ist eine grafische Darstellung der Tonverteilung in einem digitalen Bild. Es enthält alle in einem Bild enthaltenen Helligkeitswerte. Es stellt die Anzahl der Pixel für jeden Helligkeitswert dar. Es hilft bei der Vornahme der Belichtungseinstellungen.) aus PIL-Importbild 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  ()   
    Ein-Histogramm-des-Bildes-in-Python-Kopie erhalten


  • Ein Bild transponieren: Diese Funktion gibt uns das Spiegelbild eines Bildes 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  ()   
    Transponieren eines Bildes in Python
  • Teilen Sie ein Bild in einzelne Bänder auf: Durch das Teilen eines Bildes im RGB-Modus werden drei neue Bilder erstellt, die jeweils eine Kopie der ursprünglichen Einzelbänder enthalten. 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  ()   
    Teilen Sie ein Bild in Python
  • tobitmap: Konvertieren eines Bildes in eine X11-Bitmap (ein binäres Nur-Text-Bildformat). Es gibt eine Zeichenfolge zurück, die eine X11-Bitmap enthält. Sie kann nur für Bilder im Modus 1 verwendet werden, d. h. Schwarzweißbilder mit 1 Bit Pixel. aus PIL-Importbild 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  ()   
    Konvertieren eines Bildes in eine Bitmap in Python Konvertieren eines Bildes in Bitmao in Python
  • Miniaturansicht erstellen: Diese Methode erstellt eine Miniaturansicht des geöffneten Bildes. Es wird kein neues Bildobjekt zurückgegeben, sondern es werden direkte Änderungen am aktuell geöffneten Bildobjekt selbst vorgenommen. Wenn Sie das ursprüngliche Bildobjekt nicht ändern möchten, erstellen Sie eine Kopie und wenden Sie dann diese Methode an. Diese Methode bewertet auch, ob das Seitenverhältnis des Bildes entsprechend der übergebenen Größe beibehalten werden kann. aus PIL-Importbild 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  ()   
    Miniaturansicht des Bildes in Python erstellen
Quiz erstellen