it-swarm.com.de

Kombinieren Sie mehrere Bilder mit ImageMagick

Ich möchte mit ImageMagick mehrere Bilder zu einem Bild kombinieren. Um es etwas besser zu erklären, möchte ich, dass das Ergebnis so aussieht:

Das heißt, ich habe eine Reihe von Screenshots, und ich möchte sie in ein Bild mit den Originalbildern übereinander verwandeln.

Beim Googeln bin ich auf den Befehl 'composite' gestoßen, aber ich weiß nicht, ob und wie ich ihn verwenden soll, um das gewünschte Ergebnis zu erzielen.

156
Petter

Für eine beliebige Anzahl von Eingabedateien mit dem Namen in-<something>.jpg:

convert -append in-*.jpg out.jpg

Um bestimmte Dateien anhängen zu lassen oder Nummern zu überspringen, anstatt den vollständigen "Glob" zu erhalten, können Sie die Eingabedateien explizit erwähnen und anschließend den Befehl append eingeben

konvertiere in-1.jpg in-5.jpg inN.jpg + out-in1-plus-in5-and-in anhängenN.jpg

Sie können -append (anstelle von +append) zum vertikalen Einfügen verwenden.

Oder:

montage -mode concatenate -tile 1x in-*.jpg out.jpg

erstellt auch eine Datei out.jpg, die eine vertikale Verkettung der Quellbilder enthält.

convert

Für die einfache Verkettung in einer einzelnen Zeile oder Spalte ist die Option append des Tools convert ausreichend. Beachten Sie, dass -append alle Bilder vertikal verkettet und eine Spalte mit n Zeilen erstellt, und +append horizontal verkettet und eine Zeile mit n Spalten erstellt.

(Siehe ImageMagick: Befehlszeilenoptionen .)

montage

Um eine genauere Kontrolle über das Layout zu erhalten, benötigen wir das Tool montage. montage -mode concatenate fügt die eingegebenen Bilder wie die Option append zusammen und -tile 1x steuert das anzuwendende Layout.

tile folgt dem Format Spalten × Zeilen , aber jede Seite kann fehlen und montage wird herausfinden, wie man die Einschränkungen erfüllt.

Wir verwenden hier 1x (genau eine Spalte mit einer beliebigen Anzahl von Zeilen), um den gleichen Effekt wie -append zu erzielen. Ohne -tile 1x würde es die Bilder wie +append verbinden, standardmäßig -tile x1 (eine beliebige Anzahl von Spalten in einer Zeile).

(Siehe ImageMagick-Beispiele: Montage, Arrays von Bildern .)

241
peth