Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verkette ich mehrere Bilder horizontal in Python mithilfe von Pillow?

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 02:06:30728Durchsuche

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:

<code class="python">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')</code>

Dieser Code iteriert über 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 ihre Positionen werden entsprechend aktualisiert.

Zusätzliche Überlegungen

  • Der Code vermeidet eine harte Codierung von Bildabmessungen, indem er sie dynamisch berechnet.
  • Durch die 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.

Das obige ist der detaillierte Inhalt vonWie verkette ich mehrere Bilder horizontal in Python mithilfe von Pillow?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn