EXIF-FocalLength

DigiD

Mitglied
Registriert
01.06.04
Beiträge
33
Ort
Erlenbach
Hallo,
meine Kamera nutzt den FocalLength-Tag nicht sondern rechnet gleich um in 35mm und nutzt somit den FocalLengthIn35mmFilm-Tag.
Kann ich das irgendwo in FF einstellen welcher Tag ausgewertet wird?

Ich habe mal die Exif Beschreibungen rausgesucht:

Code:
Name                        Tag-ID Typ   Beschreibung                                    Standardformat
EXIF-FOCALLENGTH            37386  Zahl  Brennweite                                      XXX,XXX,XXX.XX "mm"
EXIF-FOCALLENGTHIN35MMFILM  41989  Zahl  Brennweite auf 35mm Kleibildformat umgerechnet  XXX,XXX,XXX.XX "mm"

So wie ich das sehe wird der erste von FF benutzt und der zweite von meiner Kamera.

Gruß
Stefan
 
DigiD schrieb:
meine Kamera nutzt den FocalLength-Tag nicht sondern rechnet gleich um in 35mm und nutzt somit den FocalLengthIn35mmFilm-Tag.
Kann ich das irgendwo in FF einstellen welcher Tag ausgewertet wird?

Hallo Stefan,

FF nutzt nur den <FocalLength> und berechnet den KB-äquivalenten Wert, wenn eine Brennweitenkorrektur unter Datei/Exif/KB-Brennweitenfaktor definieren für dein Kameramodell eingegeben wurde.

JKS hat gerade vor kurzem diese Möglichkeit in FF geschaffen. Ich hatte nicht den Eindruck, dass er sich um den <FocalLengthIn35mmfilm> kümmern wird.

Ist es tatsächlich so, dass der <FocalLength> von deiner Kamera nicht (mehr) bedient wird?
 
Nachtrag:
Da anscheinend der <FocalLength> überhaupt nicht bedient wird zeigt FF auch nichts an.
Wenn ich den <FocalLength> manuell per Script auf "0" setze bekomme ich in FF "0.0 (KB:44)" angezeigt.
Wenn ich den FF_GetExifTag( 'FocalLengthIn35mmFilm' ) auslesen könnte dann wäre es kein problem das per Script selber umzufummeln.
Opimal wäre natürlich wenn FF bei nicht vorhandenem <FocalLength> einfach den <FocalLengthIn35mmFilm> verwenden würde

Gruß
Stefan
 
V2.76 B30: FF_GetExifTag() erweitert um "FocalLengthIn35mmFilm"
 
Wow...
Vielen Dank!!
Inzwischen habe ich mir zwar schon ein Script zusammengebastelt um mir aus den "Advanced"-Infos die Daten rauszufiltern und nach entsprechendem Umbauen die <FocalLength> in den Exif-Daten zu ersetzen, aber das macht ja nix... Hab ja schliesslich was gelernt dabei.

Gruß
Stefan
 
DigiD schrieb:
Inzwischen habe ich mir zwar schon ein Script zusammengebastelt um mir aus den "Advanced"-Infos die Daten rauszufiltern und nach entsprechendem Umbauen die <FocalLength> in den Exif-Daten zu ersetzen, aber das macht ja nix... Hab ja schliesslich was gelernt dabei.
Stefan, kannst du das Script nicht mal posten...?
Vielleicht kann man das umkehren!? Ich würde nämlich gerne FF_GetExifTagAdvanced(FocalLength) nach (FocalLengthIn35mmfilm) bringen, weil ich dann Zaphs' CopyExif vielleicht doch anpassen könnte.
 
Aber gerne:
Als Grundlage habe ich das Script von Kleinhirn verwendet:
Code:
'Funktionen:
' - als Fotograf wird der Name eingetragen
' - ein Copyrightvermerk wird aus dem Bilddatum (Jahr) und dem Namen zusammengesetzt
' - falls von der Kamera unterstützt, wird das Bild Verlustfrei gedreht
' - Fehlender <FocalLength> Tag in den Exif Infos ergänzen
Dim Datei, Dateiname, Extension, Pfad, Datum, Hersteller, v1, v2, Make, imagecount
Dim Verzeichnis, Jahr, Monat, Tag, Orientation, Name, FocalLength, f1, f2, newFocalLength
imagecount = FF_GetImageCount
for i=0 to imagecount-1
Datei = FF_GetImageName(i)
SplitPath Datei, , Dateiname, Extension
if FF_LoadExif(Datei) then                        'nur wenn auch Exif- Daten vorhanden sind weitermachen
  Name = "S. Diefenbach"
  if FF_GetExifTag("FocalLength") <> "" then
  ***
  ***else
  ***FF_SetExifTag "FocalLength", 0
  ***FocalLength = FF_GetExifTag("FocalLengthIn35mmFilm")
  ***f1 = (FocalLength / 4.86)
  ***f2 = split(f1, ",", -1)
  ***newFocalLength = f2(0) + "." + f2(1)
  ***FF_SetExifTag "FocalLength", newFocalLength
  end if
  Datum = FF_GetExifTag("DateTime")
  if Datum = "" then Datum = FF_GetExifTag("DateTimeOriginal")
  if Datum = "" then Datum = FF_GetExifTag("DateTimeDigitized")
  if Datum = "" then Datum = Year(Now)      'wenn nichts anderes vorhanden ist, das aktuelle Jahr verwenden
  v1 = split(Datum, " ", -1)
  v2 = split(v1(0), ":", -1)
  Jahr = v2(0)
  Monat = v2(1)
  Tag = v2(2)
  FF_SetExifTag "Artist", Name
  FF_SetExifTag "Copyright1","© " + Jahr + " " + Name
  FF_SaveExif Datei
  
  'Das Bild Verlustfrei Drehen um 90 oder 270 Grad (falls von der Kamera unterstützt)
  Orientation = FF_GetExifTag("Orientation")
  if Orientation <> "" then
      'für die Kameras Casio QV4000 + QV5700
      if Orientation = "8" then              'Kamera nach links gekippt -> Drehung von 270 Grad
        FF_RotateFile Datei, 270
      elseif Orientation = "6" then        'Kamera nach rechts gekippt -> Drehung von 90 Grad
        FF_RotateFile Datei, 90
      end if
  end if
end if
next

'*********************************************************
' liefert Verzeichnis mit abschliessendem Backslash,      
' Dateinamen und Erweiterung mit einleitendem Punkt      
'*********************************************************
sub SplitPath(path, byref dirc, byref file, byref ext)
  Set fso = CreateObject("Scripting.FileSystemObject")
  dirc = fso.GetParentFolderName(path) & "\"
  file = fso.GetBaseName(path)
  ext = "." & fso.GetExtensionName(path)
  set fso = nothing
End Sub

Ist warscheinlich kein Wunderwerk an Script-Programmierung... aber fürs erste mal.... ;D

Gruß
Stefan
 
Und fürs umkehren müsste das dann so etwa aussehen:

Code:
FocalLength = FF_GetExifTagAdvanced(&quot;FocalLength&quot;)
  f1 = split(FocalLength, &quot;:&quot;, -1)
  f2 = split(f1(1), &quot;)&quot;, -1)
  newFocalLength = f2(0)
  FF_SetExifTag &quot;FocalLengthIn35mmFilm&quot;, newFocalLength

Ich hoffe das passt so... war jetzt aus dem Kopf

Gruß
Stefan
 
Danke Stefan!
Melde mich jetzt erst, weil ich mit dem Script experimentieren wollte. Funktioniert auch und ich werde das bestimmt für 'Erstläufe' bei mir ausbauen.
Dummerweise hab ich eben das Script wieder überschrieben, so dass ich den entscheidenden Teil mit dem Umkopieren nicht mehr testen konnte.
Aber ich wollte erstmal Dank loswerden... Melde mich wieder.
 
Zurück
Oben