Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : EXIF-Daten-Update-Skript für Peleng 8mm Fischauge


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

the live
10.03.2008, 23:51
Was die unvollständigkeit der EXIFs angeht kann ich dir das Gut nachvollziehen, bei mir ist die Vollständigkeit solcher Daten ein MUSS!!

ich hab zwar kein 8mm Fischauge von Peleng, aber hab mir Mal den Code angesehen und es sieht durchaus brauchbar aus!:top:

Gruß
Andreas

el_floz
11.03.2008, 11:02
Was die unvollständigkeit der EXIFs angeht kann ich dir das Gut nachvollziehen, bei mir ist die Vollständigkeit solcher Daten ein MUSS!![...]

Ich wunder mich --- als ich gestern mit den Sachen mal ein bisschen rumgespielt hab ist mir aufgefallen, dass die Alpha 700 (und die 100 vorher) gar nicht das Lens Feld im EXIF Tag beschreiben. Canons und Co. machen das, soweit ich das an ein paar Dateien aus dem Netz beurteilen kann... Da kann man dann in Lightroom und Konsorten seine Bibliothek nach bestimmten Bildern von bestimmten Objektiven durchsuchen...

Außerdem stimmen die LensID Felder auch oftmals nicht, die Kamera speichert z.B. das Minolta AF 28-80mm F3.5-5.6 (D) (oder so) ab, wenn ich ein Sigma 10-20 vorgespannt hab...

Im Moment überlege ich mir, ob ich mir ein umfangreicheres Skript schreibe, was den Text aus der LensID in das Lens Feld kopiert, dabei ein bissl clever ist, und z.B. im Falle des Sigma halt was entsprechend anderes reinschreibt...

the live
11.03.2008, 11:59
Ich wunder mich --- als ich gestern mit den Sachen mal ein bisschen rumgespielt hab ist mir aufgefallen, dass die Alpha 700 (und die 100 vorher) gar nicht das Lens Feld im EXIF Tag beschreiben. Canons und Co. machen das, soweit ich das an ein paar Dateien aus dem Netz beurteilen kann... Da kann man dann in Lightroom und Konsorten seine Bibliothek nach bestimmten Bildern von bestimmten Objektiven durchsuchen...

Außerdem stimmen die Lens Felder auch oftmals nicht, die Kamera speichert z.B. das Minolta AF 28-80mm F3.5-5.6 (D) (oder so) ab, wenn ich ein Sigma 10-20 vorgespannt hab...

Im Moment überlege ich mir, ob ich mir ein umfangreicheres Skript schreibe, was den Text aus der LensID in das Lens Feld kopiert, dabei ein bissl clever ist, und z.B. im Falle des Sigma halt was entsprechend anderes reinschreibt...


Hallo!

das mit dem Lens-Eintrag wurde auch hier erwähnt
http://www.sonyuserforum.de/forum/showthread.php?t=48419

auch eine Lösung wegen der Teils falschen LensID


Gruß
Andreas

el_floz
11.03.2008, 12:25
Super, danke für den Link --- spart mir Arbeit ;-) Genau sowas hatte ich auch im Sinn ;-) Also war die Idee gar nicht mal so schlech.

the live
11.03.2008, 12:32
Super, danke für den Link --- spart mir Arbeit ;-) Genau sowas hatte ich auch im Sinn ;-) Also war die Idee gar nicht mal so schlech.

Dieser Code ist zwar nur für RAW-Files, dürfte aber keine all zu großer Aufwand sein das für JPEG zu schreiben

Gruß
Andreas