Heim > Artikel > Backend-Entwicklung > Hier sind ein paar fragenbasierte Titel, die das Wesentliche Ihres Artikels zusammenfassen: **Allgemein:** * **So kombinieren Sie Bilder horizontal in Python: Eine Schritt-für-Schritt-Anleitung** * **Bilder in Python verketten
Bilder horizontal mit Python kombinieren
Python bietet leistungsstarke Bildverarbeitungsfunktionen, einschließlich der Option, mehrere Bilder horizontal zu kombinieren. In diesem Artikel geht es um die Herausforderungen beim Zusammenfügen von drei JPEG-Bildern, um eine ordnungsgemäße Ausrichtung und nahtlose Übergänge sicherzustellen.
Problemübersicht
Das Ziel besteht darin, drei Bilder horizontal zu verketten. jeweils 148 x 95 Pixel groß. Die gewünschte Ausgabe ist ein einzelnes Bild, bei dem die drei Unterbilder nahtlos zusammengeführt werden.
Erster Versuch
Der anfängliche Ansatz nutzte eine verschachtelte Schleife innerhalb einer for-Schleife und die Image.paste()-Methode zum Einfügen jedes Bildes in eine neu erstellte Leinwand. Dies führte jedoch dazu, dass Teilbilder in der Ausgabe sichtbar waren.
Implementierung einer überarbeiteten Lösung
Um das Problem zu beheben, wurde ein effizienterer Ansatz entwickelt, der das Bild nutzt .open()- und Image.size()-Methoden zum Abrufen von Bildabmessungen und zum dynamischen Anpassen der neuen Bildgröße. Der Code lautet wie folgt:
<code class="python">import sys from PIL import Image images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']] widths, heights = zip(*(i.size for i in images)) total_width = sum(widths) max_height = max(heights) new_im = Image.new('RGB', (total_width, max_height)) x_offset = 0 for im in images: new_im.paste(im, (x_offset,0)) x_offset += im.size[0] new_im.save('test.jpg')</code>
Ergebnisse
Die überarbeitete Lösung hat die Bilder erfolgreich horizontal kombiniert und die erwartete Ausgabe erzeugt:
Test1.jpg Test2.jpg Test3.jpg ──────▄▄██▀▀▀▀▄──────────▄▄██▀▀▀▀▄──────────▄▄██▀▀▀▀▄ ─────█▒▒░██▄▒▒▒█───────█▒▒░█████▒█───────█▒▒░█████▒█ ───▄████▒▒████▒▒██▄──▄████▒▒████▒▒██▄──▄████▒▒████▒▒██▄ ───██▒▒▒█▒▒▒█▒▒▒█▒▒██─██▒▒▒█▒▒▒█▒▒▒█▒▒██─██▒▒▒█▒▒▒█▒▒▒█▒▒██ ──██▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒██─██▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒██─██▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒██ ─██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒█─ ██▒▒▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒▒██ ██▒▒▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒▒██ ─██▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒████▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒████▒▒▒▒▒▒▒█▒▒▒▒▒█▒▒▒▒▒▒█─ ───██▒▒▒█▒▒▒█▒▒▒█▒▒█████▒▒▒█▒▒▒█▒▒▒█▒▒█████▒▒▒█▒▒▒█▒▒▒█▒▒▒█▒▒▒█▒▒▒█─── ───▄████▒▒▒█▒▒▒█▒▒▒█████▒▒█████▒▒▒█▒▒▒█████▒▒█████▒▒▒█▒▒▒█▒▒▒█▒▒████▄─── ─────█▒▒▒████▒█▒▒▒▒▒▒████▒▒▒████▒▒█▒▒▒▒▒▒████▒▒▒████▒▒████▒▒▒▒▒█▒▒▒█───── ─────────▐▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█────────── ──────────▀▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█▒▒▒▒▒▒▒█───────────
Diese verbesserte Lösung verkettete die drei Bilder effektiv und vermied so das Problem der Anzeige zusätzlicher Teilbilder. Es bietet eine dynamische und anpassbare Möglichkeit, mehrere Bilder horizontal zusammenzuführen, wodurch es für allgemeine Bildverarbeitungsaufgaben geeignet ist.
Das obige ist der detaillierte Inhalt vonHier sind ein paar fragenbasierte Titel, die das Wesentliche Ihres Artikels zusammenfassen: **Allgemein:** * **So kombinieren Sie Bilder horizontal in Python: Eine Schritt-für-Schritt-Anleitung** * **Bilder in Python verketten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!