el_floz
10.03.2008, 23:15
Hallo Ihrs,
ich hab seit ein paar Tagen das 8mm Fischauge von Peleng, welches old-school komplett manuell betrieben werden muss und keine Elektronik hat, die der Kamera mitteilt, was Phase ist.
Somit sind die EXIF-Daten entsprechender Bilder unvollständig / falsch was Brennweite und Blende angeht.
Deshalb hab ich mir ein kleines Bash-Script geschrieben, welches man auf eine Datei ansetzen kann, um die entsprechenden Daten nachzutragen. Man wird dabei zur Eingabe der Blende aufgefordert (die das Skript ja schlecht ahnen kann). Das ist vielleicht mein 2. Bash-Skript, also bitte keine Vorwürfe machen, falls es nicht die eleganteste Lösung ist.
Bevor man es verwenden kann muss man ein bisschen konfigurieren / installieren:
Das exiftool (http://www.sno.phy.queensu.ca/~phil/exiftool/) wird benötigt
Man sollte den Pfad zum exiftool anpassen
Man sollte den crop factor bzw. die 35mm equiv. Brennweite anpassen (meine Kamera hat 1.5)
Ggf. muss man den zweiten if-test rausnehmen bzw. anpassen (meine Kamera schreibt im Kein-Objektiv-Fall 1.0 als Blende rein, das nutze ich als Test um sicherzustellen dass keine Blende bisher gesetzt wurde)
Ich hoffe, jemand findet das hier nützlich, wenn nicht, einfach ignorieren ;-)
Achso, und: Benutzung auf eigenen Gefahr! Beim Rumexperimentieren am Besten erstmal -overwrite_original rausnehmen, damit eine Sicherheitskopie der Originaldatei gemacht wird!
#!/bin/bash
# Adds Peleng 8mm F3.5 Fisheye EXIF infos to files, prompting
# for the aperture used.
#
# Usage: fish_exif.sh FILE.JPG
#
# V0.1 by Florian Knorn, http://www.florian-knorn.com
if [ "$1" ]
then
A=`/usr/bin/exiftool -s -s -s -ApertureValue "$1"`
if [ "$A" = "1.0" ] # -- check that aperture not set
then
echo "What aperture did you use? [11.0]"
read -e F
if [ $F ] # -- Ask for aperture
then
echo "Setting aperture F/$F."
else # -- Use default
echo "Setting default aperture F/11.0."
F="11.0"
fi
exiftool -overwrite_original \
-FNumber=$F -ApertureValue=$F \
-MaxApertureValue='3.5' \
-FocalLength='8.0 mm' -FocalLengthIn35mmFormat='12 mm' \
-Lens='Peleng 8.0 mm F3.5 Fisheye' "$1"
else
echo "Aperture value is already set (F/$A). Exiting."
fi
else
echo "No target file given. Exiting."
fi
ich hab seit ein paar Tagen das 8mm Fischauge von Peleng, welches old-school komplett manuell betrieben werden muss und keine Elektronik hat, die der Kamera mitteilt, was Phase ist.
Somit sind die EXIF-Daten entsprechender Bilder unvollständig / falsch was Brennweite und Blende angeht.
Deshalb hab ich mir ein kleines Bash-Script geschrieben, welches man auf eine Datei ansetzen kann, um die entsprechenden Daten nachzutragen. Man wird dabei zur Eingabe der Blende aufgefordert (die das Skript ja schlecht ahnen kann). Das ist vielleicht mein 2. Bash-Skript, also bitte keine Vorwürfe machen, falls es nicht die eleganteste Lösung ist.
Bevor man es verwenden kann muss man ein bisschen konfigurieren / installieren:
Das exiftool (http://www.sno.phy.queensu.ca/~phil/exiftool/) wird benötigt
Man sollte den Pfad zum exiftool anpassen
Man sollte den crop factor bzw. die 35mm equiv. Brennweite anpassen (meine Kamera hat 1.5)
Ggf. muss man den zweiten if-test rausnehmen bzw. anpassen (meine Kamera schreibt im Kein-Objektiv-Fall 1.0 als Blende rein, das nutze ich als Test um sicherzustellen dass keine Blende bisher gesetzt wurde)
Ich hoffe, jemand findet das hier nützlich, wenn nicht, einfach ignorieren ;-)
Achso, und: Benutzung auf eigenen Gefahr! Beim Rumexperimentieren am Besten erstmal -overwrite_original rausnehmen, damit eine Sicherheitskopie der Originaldatei gemacht wird!
#!/bin/bash
# Adds Peleng 8mm F3.5 Fisheye EXIF infos to files, prompting
# for the aperture used.
#
# Usage: fish_exif.sh FILE.JPG
#
# V0.1 by Florian Knorn, http://www.florian-knorn.com
if [ "$1" ]
then
A=`/usr/bin/exiftool -s -s -s -ApertureValue "$1"`
if [ "$A" = "1.0" ] # -- check that aperture not set
then
echo "What aperture did you use? [11.0]"
read -e F
if [ $F ] # -- Ask for aperture
then
echo "Setting aperture F/$F."
else # -- Use default
echo "Setting default aperture F/11.0."
F="11.0"
fi
exiftool -overwrite_original \
-FNumber=$F -ApertureValue=$F \
-MaxApertureValue='3.5' \
-FocalLength='8.0 mm' -FocalLengthIn35mmFormat='12 mm' \
-Lens='Peleng 8.0 mm F3.5 Fisheye' "$1"
else
echo "Aperture value is already set (F/$A). Exiting."
fi
else
echo "No target file given. Exiting."
fi