Mehrere Bilder scannen und automatisch aufteilen

Wenn viele alte, entwickelte Bilder gescannt werden sollen, wäre es nicht schlecht, wenn mehrere Bilder auf einmal gescannt werden könnten und diese dann automatisch in Einzelbilder aufgeteilt werden könnten. Quasi eine Stapelverarbeitung. Wenn ein passendes Tool dazu noch kostenlos wäre, würde das noch besser sein.

Ja, diese Möglichkeit gibt es. Dafür wird die Software Imagemagick und zwei zusätzliche Scripte benötigt.

In diesem Blog-Beitrag gehe ich von rudimentären Linux-Kenntnissen aus.

Die Bilder müssen nebeneinander, mit ein bisschen Abstand auf dem Scanner platziert werden und dann gescannt werden.

Auf dem Computer muss ein Ordner angelegt werden, der ein Unterordner „Scans“ und „Ergebnis“ enthält. Die Bilder werden in den Ordner „Scans“ gelegt.

Danach muss das Script multicrop2 heruntergeladen werden, dies ist hier möglich: multicrop2
Das Script muss in den Hauptordner kopiert werden.

Wird Windows verwendet, muss zuerst das „Windows-Subsystem für Linux“ installiert werden. Dies kann über die Kommandozeile oder PowerShell mit dem Befehl

wsl --install

erfolgen.

Danach kann die Linux-Umgebung über das Startmenü geöffnet werden (standardmäßig wird Ubuntu installiert).

Es öffnet sich eine Konsole. Dort muss zuerst Imagemagick installiert werden, das erfolgt mit den Befehlen:

sudo apt-get update
sudo apt-get install imagemagick

Damit alle Bilder aus dem „Scans“-Ordner bearbeitet werden, kann das folgende Bash-Script verwendet werden (z.B. als loop_multicrop2.sh abspeichern). Das Script wird auch in das Hauptverzeichnis gelegt.

#!/bin/bash
count=0
for FILE in Scans/*;
    do
    count=$((count + 1))
    echo $FILE;
    ./multicrop2 $FILE Ergebnis/Scan${count}.jpg
done

Das Laufwerk C kann in der Linux-Konsole im Pfad „/mnt/c“ gefunden werden. In der Konsole muss in das angelegte Verzeichnis navigiert werden (oder im Windows-Explorer im Verzeichnis mit gedrückter Shift-Taste Rechtsklick->Hier Linux-Shell öffnen anklicken).

Das Script wird dann mit dem Befehl

bash loop_multicrop2.sh

ausgeführt. Jetzt werden alle Bilder in dem Ordner „Scans“ verarbeitet und in einzelne Bilder aufgeteilt und im Ordner „Ergebnis“ gespeichert.

Beispielweise werden damit aus dem folgenden Scan mit 4 Bildern:

Die 4 Einzelbilder:

2 Kommentare

  1. Hallo,
    vielen Dank für die Anleitung!
    Leider bekomme ich beim Ausführen von „bash loop_multicrop2.sh“, folgende Meldung von Ubuntu:
    „loop_multicrop2.sh: line 3: syntax error near unexpected token `$’\r“
    ‚oop_multicrop2.sh: line 3: `for FILE in Scans/*;“

    Leider komme ich an dem Punkt nicht weiter.

    LG

    1. Das klingt nach einem Problem mit den Steuerzeichen. Vermutlich hast du in dem Code DOS-Zeilenende. Hiermit solltest du es in Unix-Zeilenende konvertieren können:

      sed -i 's/\r//' loop_multicrop2.sh

Schreibe einen Kommentar zu Anonym Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert