Zusammenfügen eines Fotos unter einen Stapel Fotos

Zusammenfügen eines Fotos unter einen Stapel Fotos

Ich bin sicher, dass es hierfür einen einfachen Befehl gibt, konnte jedoch keinen finden.

Im Grunde möchte ich ein Foto unter ein anderes Foto legen, ohne dass es überlappt. Außerdem hätte ich idealerweise gern einen Befehl, der diesen Vorgang für 200 obere Bilder automatisieren kann, bei denen das gleiche untere Bild angefügt wird. Alle Bilder haben die gleiche Breite, sodass keine Transformation erforderlich ist.

Ich suche nach einem Programm wie „stitch -below top.png bottom.png“. Ich habe Optionen wie Montage ausprobiert, aber es scheint nicht so zu funktionieren, wie ich es mir vorstelle. Ich brauche Rat.

Antwort1

Zuerst müssen Sie ein Terminal öffnen und sudo apt-get install imagemagick.

Legen Sie nun alle Ihre Bilder in denselben Ordner, damit Sie vom Terminal aus problemlos darauf zugreifen können. Legen Sie die oberen Bilder alle in einen eigenen Ordner und bewahren Sie das untere Bild an einem anderen Ort auf, um die Arbeit zu vereinfachen.

Geben Sie ein cd DIRNAME, Sie müssen DIRNAME durch den Namen des Ordners ersetzen, in dem die Bilder gespeichert sind. /home/mark/collatingDas ist beispielsweise der Ordner, den ich für diesen Zweck verwende.

Nachdem sich Ihre Shell nun im richtigen Ordner befindet und Imagemagick installiert ist, verwenden wir Folgendes, um die Bilder zusammenzufügen:

convert -append image1.jpg image2.jpg output.jpg

Dadurch werden die beiden Bilder mit den Namen „image1“ und „image2“ genommen und „image2“ unter „image1“ eingefügt. Das Ergebnis wird als Datei mit dem Namen „output.jpg“ gespeichert.

Um dies zu automatisieren, können Sie ein Skript wie dieses verwenden. Sie müssen die Variablen ändern, damit sie auf die richtigen Stellen zeigen.

#! /bin/bash

#   Replace the values of these variables with the locations of your tops and the bottom.
# The output directory must already exist!
#   "~/" is a shortcut for your home dir, FYI.

TopsDir="~/collating/tops" #Only the TOP images should be in this folder!
BottomImg="~/collating/bottom.png"
OutputDir="~/collating/complete"

[ -d "$TopsDir" -a -d "$OutputDir" ] && [ -f "$BottomImg" ] || { echo "One of the paths you supplied wasn't valid."; exit 1;}

cd "$TopsDir"

for TopImg in *; do
    convert -append "$TopImg" "$BottomImg" "$OutputDir/$TopImg"
done

Kopieren Sie es und fügen Sie es in gedit oder Ihren Texteditor ein undBearbeiten Sie die Variablendamit sie auf die richtigen Ordner verweisen. (Oder Datei für das untere Bild.) Speichern Sie es als collator.sh. Für die nächsten Schritte ist es praktisch, wenn Sie es in Ihrem Home-Verzeichnis speichern.

Öffnen Sie nun ein Terminal und navigieren Sie zu dem Ort, an dem Sie die Datei gespeichert haben. (Sie sind bereits dort, wenn Sie sie in Ihrem Home-Verzeichnis gespeichert haben, andernfalls geben Sie ein cd /path/to/your/location) Geben Sie ein chmod +x collator.sh, um der Datei Ausführungsberechtigungen zu erteilen.

Und jetzt erledigen wir die Arbeit:
Geben Sie ein ./collator.sh, um das Skript auszuführen, und fertig.

verwandte Informationen