„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie verkette ich mehrere Bilder horizontal in Python mithilfe von Pillow?

Wie verkette ich mehrere Bilder horizontal in Python mithilfe von Pillow?

Veröffentlicht am 06.11.2024
Durchsuche:737

How to Concatenate Multiple Images Horizontally in Python Using Pillow?

Bilder horizontal mit Python verketten

Das horizontale Kombinieren mehrerer Bilder ist eine häufige Aufgabe in der Bildverarbeitung. Python bietet mithilfe der Pillow-Bibliothek leistungsstarke Tools, um dies zu erreichen.

Problembeschreibung

Betrachten Sie drei quadratische JPEG-Bilder mit den Abmessungen 148 x 95. Das Ziel besteht darin, diese horizontal zu verketten Bilder und vermeiden Sie dabei Teilbilder in der resultierenden Ausgabe.

Vorgeschlagene Lösung

Der folgende Codeausschnitt behebt das Problem:

import sys
from PIL import Image

# Get the images
images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']]

# Determine the total width and height
widths, heights = zip(*(i.size for i in images))
total_width = sum(widths)
max_height = max(heights)

# Create a new, empty image
new_im = Image.new('RGB', (total_width, max_height))

# Paste the images horizontally
x_offset = 0
for im in images:
    new_im.paste(im, (x_offset, 0))
    x_offset  = im.size[0]

# Save the output image
new_im.save('test.jpg')

Dieser Code durchläuft die Eingabebilder und bestimmt deren Abmessungen. Es wird ein neues Bild mit der Gesamtbreite und der maximalen Höhe aller Bilder erstellt. Jedes Eingabebild wird horizontal eingefügt und seine Positionen werden entsprechend aktualisiert.

Zusätzliche Überlegungen

  • Der Code vermeidet die harte Codierung von Bildabmessungen, indem er sie dynamisch berechnet.
  • Durch Angabe der Abmessungen in einer Zeile können diese einfach angepasst werden.
  • Das bereitgestellte Beispiel verkettet drei Bilder, der Code kann jedoch für beliebig viele Bilder verwendet werden.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3