Bilder mit Hilfe von Python verkleinern

Mit dem folgenden Python Skript werden Bilder in einem Ordner auf die Größe untersucht. Im zweiten Schritt werden die Bilder, die eine vorher festgelegte Größe überschreiten verkleinert und dann in einem extra Ordner mit neuer Größe gespeichert.

Skipt:

import os
from PIL import Image

#Sorgt dafür, dass in der Konsole, die Größe abgefragt wird
SQUARE_FIT_SIZE = int(input(" Größe eingeben : "))
NEW_FOLDER_NAME = input("Ordner für die neuen Bilder : ")



os.makedirs(NEW_FOLDER_NAME, exist_ok=True)

for filename in os.listdir('.'):
    if not (filename.endswith('.png') or filename.endswith('.jpg')):
        continue 

    im = Image.open(filename)
    width, height = im.size

    # Hier wird geprüft ob die Bildergrößen angepasst werden müssen
    if width > SQUARE_FIT_SIZE and height > SQUARE_FIT_SIZE:
        # Hier wird die neue Höhe und Breite berechnet
        if width > height:
            height = int((SQUARE_FIT_SIZE / width) * height)
            width = SQUARE_FIT_SIZE
        else:
            width = int((SQUARE_FIT_SIZE / height) * width)
            height = SQUARE_FIT_SIZE

        
        print('Resizing %s...' % (filename))
        im = im.resize((width, height))

    im.save(os.path.join(NEW_FOLDER_NAME, filename))

print('Fertig')

Anpassung der Bildqualität beim Speichern

Hier sind einige allgemeine Schritte und Methoden zur Anpassung der Bildqualität beim Speichern von Bildern mit Pillow:

  1. Bild laden: Zunächst laden Sie das Bild mit Pillow, indem Sie Image.open() verwenden.
  2. Bild bearbeiten: Führen Sie nach Bedarf Bearbeitungen wie Größenänderung, Drehung oder Filteranwendung durch.
  3. Bildqualität anpassen: Beim Speichern des Bildes können Sie die Bildqualität über das quality-Argument der save()-Methode anpassen. Der Wert für quality kann zwischen 1 (schlechteste Qualität, kleinste Datei) und 95 (beste Qualität, größere Datei) liegen. Ein Wert von etwa 75 bis 85 ist oft ein guter Kompromiss zwischen Qualität und Dateigröße.
  4. Bild speichern: Speichern Sie das Bild mit der save()-Methode und geben Sie den gewünschten Dateinamen sowie das Format an. Übergeben Sie das quality-Argument, um die Bildqualität anzupassen.

Beispielcode:

from PIL import Image

# Bild öffnen
img = Image.open('beispielbild.jpg')

# Bild bearbeiten (optional)

# Bild mit angepasster Qualität speichern
img.save('optimiertes_bild.jpg', 'JPEG', quality=85)

Beachten Sie, dass die Anpassung der Bildqualität ein Balanceakt ist. Eine zu starke Reduzierung kann zu sichtbaren Artefakten und einem Verlust an Bildschärfe führen, während eine zu geringe Reduzierung die Dateigröße unnötig erhöht. Experimentieren Sie mit verschiedenen Qualitätseinstellungen, um das beste Ergebnis für Ihren spezifischen Anwendungsfall zu erzielen.