Digitale Bildverarbeitung

erstellt: 31 Oct 2013 - letzte Änderung: 22 Jun 2014

Bildverarbeitung für Digitalfotos.

Die Digitale Bildverarbeitung erfolgt in mehreren Schritten.

Bilder von der Didgitalkamera einlesen

Einlesen geht recht komfortabel auf der Kommandozeile mit gphoto2.

Bilder auf der Kamera auflisten

gphoto2 --auto-detect -L

Alle Bilder einlesen

gphoto2 --auto-detect --filename %04n.%C --get-all-files

oder nur bestimmte Bereiche (nach laufender Nummer)

gphoto2 --auto-detect --filename %04n.%C --get-file "23-1337"

Hierbei werden die Bilder mit der laufenden Nummer 23 bis 1337 eingelesen und im aktuellen Verzeichnis mit laufender Nummer:

0023.JPG
...
1337.JPG

Bilder anhand des Aufnahmedatums (EXIF) umbenennen:

# JPG Dateien
exiftool -P -'Filename<DateTimeOriginal' -d %Y%m%d-%H%M%S-%%0.4C.jpg *.[jJ][pP][gG]
# Canon Raw Dateien
exiftool -P -'Filename<DateTimeOriginal' -d %Y%m%d-%H%M%S-%%0.4C.cr2 *.[cC][rR]2
# oder alles auf einmal (Dateiendung wird beibehalten - also z.B. .JPG statt .jpg!)
exiftool -P -'Filename<DateTimeOriginal' -d %Y%m%d-%H%M%S-%%0.4C.%%e *

Ergebnis:

20131025-161850-0000.CR2
20131025-161850-0000.JPG
...

MTime der Bilder anhand des Aufnahmedatums (EXIF) setzen:

exiftool '-DateTimeOriginal>FileModifyDate' *

Falls die Uhr der Kamera verstellt war können die EXIF Aufnahmedaten (DateTimeOriginal, CreateDate und ModifyDate) auch um eine Zeitspanne verschoben werden: # Zeit in HH:MM:SS abziehen DIFFTIME=“00:51:41” exiftool -AllDates-=$DIFFTIME * # oder drauf rechnen exiftool -AllDates+=$DIFFTIME *

N.B. Bilder können auch wieder auf die SD-Card der (Canon) Kamera geladen werden.
Dazu erstmal entsprechende Namen vergeben:

# JPEG
COUNTER=1; for file in *.[jJ][pP][gG]; do NAME=$(printf "IMG_%0.4i.JPG\n" $COUNTER); mv $file $NAME; let COUNTER=$COUNTER+1; done
# Raw / CR2
COUNTER=1; for file in *.[cC][rR]2; do NAME=$(printf "IMG_%0.4i.CR2\n" $COUNTER); mv $file $NAME; let COUNTER=$COUNTER+1; done

Anschliessend diese Dateien (IMG_0001.JPG, IMG_0002.JPG, … IMG_0947.JPG) auf die SD-Card nach DCIM/100CANON/ (oder 101TEST1 oder 102BLABL …) kopieren. Der Ordner muss lediglich mit drei Ziffern beginnen und anschließend mit fünf Buchstaben (Groß) enden.

Bilder für eine Diashow in 1920x1080 bereitstellen:

DIR="/Pfad/zur/den/Bildern"; for longfile in $(find $DIR -name "*.jpg"); do file=$(basename $longfile); echo "working on $file..."; cp -a ${DIR}/${file} ${file}; jhead -autorot ${file}; convert ${file} -background black -gravity center -resize 1920x1080 -extent 1920x1080 ${file}_tmp.jpg; mv ${file}_tmp.jpg ${file}; done

Bilder auf bestimmte Größe stutzen (z.B. 800 Pixel breite):

convert -resize 800x original.jpg neuesbild.jpg

Exifdaten eines Bildes löschen:

exiftool -all= neuesbild.jpg

Bildbetrachter

Mit einem Bildbetrachter kann schnell ein Überblick über die Bilder gewonnen werden.

Geeqie ist ein recht schlanker Bildbetrachter ohne Datenbankfunktion mit dem auf die Ordnerstruktur zugegriffen werden kann.

gThumb stammt aus den Gnome Projekt und bietet ebenfalls Zugriff über die Ordnerstruktur.

Raw Converter