aaalso... wie gesagt, dieses Script benutze ich. Und ich hab mich mal etwas gespielt mit deinen Bildern.
Was mit aufgefallen ist, die haben alle so ziemlich den gleichen Kippwinkel, deshalb hab ich mal einen festen Winkel angegeben. Wenn das unrotate
-Script den Winkel selber bestimmt, kommts zu Ausreissern. Da die Bilder ja schön Groß sind, hab ich vom Rand her jeweils 20 px abgeschnitten. Das reicht, um die meisten "Rand-Artefakte" weg zu machen.
Also hier der genaue Vorgang. Ich beschreibs extra ausführlich, weil ich nicht weiß, wie fit du mit dem Terminal bist. Das Script wird dabei nicht Systemweit installiert, sondern in dein Home-Verzeichnis.
Vorarbeiten:
ImageMagick muss installiert sein.
Der Ordner /home/DEINUSERNAME/bin muss existieren, wenn nicht existent, bitte im Persönlichen Ordner anlegen. z.B. mit dem Dateimanager (Contextmenü > Ordner Anlegen) oder im Terminal mit
mkdir -p ~/bin # Die Tilde ~ ist eine Abkürzung für /home/DEINUSERNAME
Dann einmal aus- und wieder einloggen (WICHTIG!).
Das Script von hier downloaden und nach ~/bin speichern. Ausführbar machen mit
chmod +x ~/bin/unrotate
Das eigentliche Convertieren:
Bitte das ganze trotzdem erstmal mit einem Testordner mit 5-10 Bilder probieren, bevor du es auf den Ordner mit 600 Bilder loslässt.
Da das Beschneiden und Drehen bei deinen 4 Beispielbildern auf meinem 3.00-GHz-Zweikerner mit ausreichend RAM jeweils pro Bild zwischen 30 und 50 Sekunden dauert, ist es sogar eine Überlegung wert, die 600 in mehrere Ordner zu verteilen. Eventuell grob nach Helligkeit der Bilder sortiert und den Befehl jeweils pro Ordner etwas anzupassen. Es dürfte kein Problem sein, in zwei (drei, vier) Terminals in Verschiedenen Ordnern jeweils einen solchen Befehl abzusetzen, je nach Ausstattung deines Rechners.
Terminal öffnen und mit cd
in einen Bilderordner wechseln
cd ~/Bilder/ordner
du brauchst übrigens Schreibrechte in diesem Ordner, weil die neuen Bilder auch darin erstellt werden. unrotate
arbeitet mit convert
aus ImageMagick und das lässt die Original-Bilder unangestastet, die Ergebnisse werden neu erstellt. Deshalb bitte auch auf genügend freien Platz auf der Festplatte achten.
und nun das Bash-Voodoo:
for pic in *.jpg; do echo "... bearbeite "$pic; unrotate -a -1.2 -f 10 -l 20 -r -20 -t 20 -b -20 $pic ${pic%.*}"_cuted".jpg; done
Wenn deine Bilder *.JPG sind und Linux ja zwischen GROß- und kleinschreibung unterscheidet, das *.jpg ggf. an deine Vorgaben anpassen.
es werden neue Bilder im gleichen Ordner wie die Originale mit der Benamung Originalname_cuted.jpg erstellt. Das regelt dieses ${pic%.*}"_cuted".jpg
am Ende. Das ist bash-Spezifisch, weshalb es auch nur in einer bash funktioniert, nicht in der zsh, dash, usw.
Allgemein ist nur noch zu sagen, daß ich nicht das Ubuntu-Imagemagick-Paket benutze, sondern eine selber kompilierte, neuere Version. Aber normalerweise müsste es auch mit den ImageMagick aus dem Repo funktionieren.
Ergebnis siehst du im Anhang ☺