Stapelverarbeitung: RAW Konvertierung

Dabei seit
13.09.03
Beiträge
264
Standort
München
#1
Hallo forum,


ich habe leider nichts dazu gefunden und selber erschliesst sich mir auch kein Weg um einen Ordner RAWs mit fix foto als Stapel zu konvertieren...gibt es da eine Möglichkeit und wenn nicht, kann man eine solche mit vertretbarem Auwand schaffen (@JKS) ?
 

m.s

FF-Team
Mitarbeiter
Dabei seit
19.09.02
Beiträge
11.275
#2
AW: Stapelverarbeitung: RAW Konvertierung

Frag mal [usr]omi[/usr], der sitzt da - glaube ich - an nem Skript.
 

omi

Mitglied
Dabei seit
26.01.05
Beiträge
170
Standort
München
Trophäen
{**!}*!!!
#3
AW: Stapelverarbeitung: RAW Konvertierung

Micha, du hast ein gutes Gedächtnis. Respekt.

Ich konvertiere meine Raws mit folgendem Skript:

PHP:
//FFSubmenu=RAW
//FFName=Raw: Umwandlung nach jpg mit "PC" (om)

var fso = new ActiveXObject("Scripting.FileSystemObject");

rawconvert();

function rawconvert() {

   // parameters via FF_GetParam() ??
   var args =FF_GetParam().split("\r\n");
   var argsOut = "";
   // no, so we go the FF_GetImageName(i) way
   if (args.length == 0 || args == 0) {
      imagenum = FF_GetImageCount();
      for(var i = 0; i<imagenum ;i++) {
         args[i] = FF_GetImageName(i);
      }
   }
 
   imagenum = args.length;  
   for ( var i in args) {
      path = args[i];
      splittedUp = SplitPath(path);

      FF_SetProgressText(i, imagenum, splittedUp.file);
      
      // add the original file to the output params
      argsOut = argsOut + path + "\r\n";
      
      if(splittedUp.ext.toLowerCase() == ".jpg" || splittedUp.ext.toLowerCase() == ".png")  {
      	continue;
      }
      
      if (!FF_LoadRawImage(path, 4)) {
      	continue;
      }
	  
	  //FF_Gamma16(2.22);
	  //FF_BrightUpDown16(-246);
      // alternativ ... 	  
	  //FF_Gamma16(1.72);

      FF_ColorTemp16(15);

	  FF_PerfectlyClear16(true, true, 2, true, 95, true, 100, true, 100, true);

	  //FF_SaveImage16(splittedUp.dir + splittedUp.file + ".tif");

	  FF_Convert16();
	  FF_SmartSharp(192, 0);
	  FF_GeoSharp(512)
	  //FF_3DSharp(70, 14);
	  
	  
	  var outName = splittedUp.dir + splittedUp.file + "-fixed.jpg"; 
      FF_SaveImage(outName, 97);
      argsOut = argsOut + outName + "\r\n";

//      // IPTC info isn't taken from the thm files automatically. SO we do it by hand.
//      // for some reason loading iptc from a thm file does not work properly
//      // so I copy to a temporary jpg file
//      var tmp = splittedUp.dir + splittedUp.file + "-TMPTMPTMPhgfhg.jpg";
//      var thmfile = splittedUp.dir + splittedUp.file + ".thm";
//      fso.CopyFile(thmfile,tmp);
//	  if (FF_LoadIPTC(tmp)) {   
//	  	 FF_SaveIPTC(outName);
//	  }
//	  fso.DeleteFile(tmp);
      
      FF_SetProgress(i+1, imagenum)
   }
   
   FF_SetParam(argsOut.substr(0, argsOut.length-2));      
}

function SplitPath(path)
	{
	var fso = new ActiveXObject("Scripting.FileSystemObject");
	var	result = new Object();
	result.dir = fso.GetParentFolderName(path) + "\\";
	result.file = fso.GetBaseName(path);
	result.ext = "." + fso.GetExtensionName(path);
	return result;
	}
Das ist keine Komfort-Variante. Tut aber für meinen Zweck genau das Richtige.
Nochwas: Ich verwende "Perfectly Clear".

Handhabung:
Als "RawConvert.js" im FF-Skript-Verzeichnis (..\FixFoto\Script) speichern. Und die Skripte im Aufgabenbereich aktualisieren.
 
Dabei seit
07.03.05
Beiträge
108
#4
AW: Stapelverarbeitung: RAW Konvertierung

Kann hier jemand Gedanken lesen:eek:
Vor dem gleichen Problem stand ich gestern Abend auch.
Ich hab mit meiner Pentax K100D eine Reihe RAW-Bilder gemacht und wollte die schnell in TIF umwandeln. Aber alle Versuche sind gescheitert.

Dein Script, Omi, scheint meine Rettung.
Ich habe da nur ein Problem dabei. Ich würde die Bilder, wie gesagt, gerne als TIF abspeichern und ohne irgendeine Bildbearbeitung.
Da ich mich in der Scriptsprache nicht auskenne würde ich dich gerne bitten mir zu sagen wo ich einstellen muß, daß das Bild als TIF gespeichert wird und wo ich die Bildbearbeitung (PC) ausschalten muß. Beim lesen von deinem Script sind mir Stellen mit den Begriffen Gamma, Colortemp, Sharp... aufgefallen. Kann ich die einfach löschen oder mit "//" versehen um sie zu deaktivieren?

Vielleicht schaffe ich dadurch auch mal den Einstieg in die Script-Programmierung.:)

Ich wäre dir sehr dankbar.

Gruß
Dirk
 

Tinus

Mitglied
Dabei seit
11.05.03
Beiträge
927
Trophäen
*
#5
AW: Stapelverarbeitung: RAW Konvertierung

...Ich hab mit meiner Pentax K100D eine Reihe RAW-Bilder gemacht und wollte die schnell in TIF umwandeln....
daran wäre ich auch sehr interessant. Mit js-Scripten tue ich mich noch schwer, bin eher der vbs-Typ ;)

Gruß Ti.
 

kuni-r

Mitglied
Dabei seit
26.11.02
Beiträge
5.456
Standort
Nähe Memmingen
Trophäen
auch
#6
AW: Stapelverarbeitung: RAW Konvertierung

Hallo,

ich habe das Skript eben noch auf meine Bedürfnisse (Canon CR2 aus der 5D) angepasst und dabei gleich noch die relevanten Parameter etwas ausführlicher kommentiert.
Code:
//FFSubmenu=RAW
//FFName=Raw: Umwandlung nach jpg mit "PC" (om)

var fso = new ActiveXObject("Scripting.FileSystemObject");

rawconvert();

function rawconvert() {

   // parameters via FF_GetParam() ??
   var args =FF_GetParam().split("\r\n");
   var argsOut = "";
   // no, so we go the FF_GetImageName(i) way
   if (args.length == 0 || args == 0) {
      imagenum = FF_GetImageCount();
      for(var i = 0; i<imagenum ;i++) {
         args[i] = FF_GetImageName(i);
      }
   }
 
   imagenum = args.length;  
   for ( var i in args) {
      path = args[i];
      splittedUp = SplitPath(path);

      FF_SetProgressText(i, imagenum, splittedUp.file);
      
      // add the original file to the output params
      argsOut = argsOut + path + "\r\n";
      
      if(splittedUp.ext.toLowerCase() == ".jpg" || splittedUp.ext.toLowerCase() == ".png")  {
          continue;
      }
      
      if (!FF_LoadRawImage(path, 4)) {
          continue;
      }
      
      //FF_Gamma16(2.00);
	  
	  // hier kommt eine leichte Aufhellung, die ich für meine Canon-CR2-Bilder brauche, um die Helligkeit eines Vergleichs-JPG zu erreichen
      FF_BrightUpDown16(595);
	  
	  // Der S-Kontrast16 ist nötig, damit die Kamera-Kontrasteinstellung, die ich auf besonders gering gestellt habe, ein wenig kompensiert wird
	  FF_SContrast16(0.65);
	  
	  //FF_AutoContrast16();
	  // alternativ ...       
      //FF_Gamma16(1.72);
      //FF_ColorTemp16(15);
      //FF_PerfectlyClear16(true, true, 2, true, 95, true, 100, true, 100, true);
      
	  // hier wird das Bild mit den obigen Korrekturen unter gleichem Namen als 16bit-Tiff gespeichert.
	  FF_SaveImage16(splittedUp.dir + splittedUp.file + ".tif");

	  // hier wird das Bild nach 8bit konvertiert
      FF_Convert16();
	  
	  // auf das 8bit-Bild wird Kanten schärfen mit den Volle-Pulle-Werten ausgeführt. Auch hier schärfe ich in der Kamera möglichst überhaupt nicht
      FF_SmartSharp(192, 16);
      
	  //FF_GeoSharp(512)
      //FF_3DSharp(70, 14);
            
      // hier entsteht der neue Dateinamen für das JPG
	  var outName = splittedUp.dir + splittedUp.file + "-fixed.jpg"; 
      
	  // jetzt wird das JPG gespeichert
	  FF_SaveImage(outName, 97);
      argsOut = argsOut + outName + "\r\n";

//      // IPTC info isn't taken from the thm files automatically. SO we do it by hand.
//      // for some reason loading iptc from a thm file does not work properly
//      // so I copy to a temporary jpg file
//      var tmp = splittedUp.dir + splittedUp.file + "-TMPTMPTMPhgfhg.jpg";
//      var thmfile = splittedUp.dir + splittedUp.file + ".thm";
//      fso.CopyFile(thmfile,tmp);
//      if (FF_LoadIPTC(tmp)) {   
//           FF_SaveIPTC(outName);
//      }
//      fso.DeleteFile(tmp);
      
      FF_SetProgress(i+1, imagenum)
   }
   
   FF_SetParam(argsOut.substr(0, argsOut.length-2));      
}

function SplitPath(path)
    {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var    result = new Object();
    result.dir = fso.GetParentFolderName(path) + "\\";
    result.file = fso.GetBaseName(path);
    result.ext = "." + fso.GetExtensionName(path);
    return result;
    }
Ich habe bei der 5D die Möglichkeit, neben dem RAW auch noch ein kleineres, höher komprimiertes JPG mit speichern zu lassen. Das habe ich hergenommen und mich an das Ergebnis rangetastet, indem ich im Skript Schritt für Schritt die Parameter angepasst habe.

Durch das mitgespeicherte JPG im gleichen Ordner wie die CR2 werden die mit MKCanon erstellten Exifparameter auch in das durch die Umwandlung erstellte JPG übernommen.

Edit: Eben habe ich noch den Zusatz bei den JPGs entfernt und einen neuen Test gemacht.
Code:
var outName = splittedUp.dir + splittedUp.file + ".jpg";
Mit dieser Zeile wird jetzt die kleine mitgespeicherte Original-JPG durch die neue, große konvertierte JPG ersetzt und die Exif-Daten bleiben dabei erhalten.

Omi, Du bist die Wucht in Tüten! Danke für das Skript, das aber schnellstens in den Forums-Skriptbereich gehört. Langsam fange ich doch noch an zu überlegen, ob ich nicht in RAW aufnehmen soll...
 
Zuletzt bearbeitet:

omi

Mitglied
Dabei seit
26.01.05
Beiträge
170
Standort
München
Trophäen
{**!}*!!!
#7
AW: Stapelverarbeitung: RAW Konvertierung

Hallo Dirk,

du bist schon auf der richtigen Spur :)

1. Alles hinter // ist ein Kommentar und wird ignoriert.

2. Zum Speichern als tif: Einfach in der Zeile
Code:
//FF_SaveImage16(splittedUp.dir + splittedUp.file + ".tif");
die beiden // wegmachen.

3. Um sämtliche Bearbeitungen (PC und andere) abzuschalten:

Im 16-Bit-Modus habe ich 2 Bearbeitungsschritte drin (Temperaturerhöhung und PC)
Code:
FF_ColorTemp16(15);
FF_PerfectlyClear16(true, true, 2, true, 95, true, 100, true, 100, true);
Dann erfolgt die Konversion in den 8-Bit-Modus ...
Code:
FF_Convert16();
... und zu guter Letzt wird noch im 8-Bit-Modus nachgeschärft:
Code:
FF_SmartSharp(192, 0);
FF_GeoSharp(512)
Was du nicht haben willst, kannste einfach auskommentieren.
 

omi

Mitglied
Dabei seit
26.01.05
Beiträge
170
Standort
München
Trophäen
{**!}*!!!
#8
AW: Stapelverarbeitung: RAW Konvertierung

ok. Kuni war schneller :) Gebe mich geschlagen.
 
Dabei seit
13.09.03
Beiträge
264
Standort
München
#9
AW: Stapelverarbeitung: RAW Konvertierung

/edit:

jetzt sehe ich es..na mal sehen wie es weitergeht...


//edit:

also mit meinen ORF Daten, die ich hier habe kommt ein jpg in grösse des Thumbnails raus, was muss ich ändern, dass das ein richtig grosses jpg wird?



///edit:

:) hmm jetzt sind die gross...war wohl ein Zwischenschritt und ich zu ungeduldig...


////edit:

mit PEF Dateien hatte ich gerade eine acessverletzung mit abschmieren des Programms....

Ich glaube ich teste das dann besser daheim auf dem Grafikrechner weiter.

Vielen Dank an omi, kuni und den Rest für die Hilfe


(achja, was ist denn perfectly clear...habe ich jetzt schon ein paarmal gelesen, aber irgendwie nicht so recht verstanden, ist das eine Zusatzsoftware? Kostenpflichtig? Eingebaut?)
 
Zuletzt bearbeitet:

kuni-r

Mitglied
Dabei seit
26.11.02
Beiträge
5.456
Standort
Nähe Memmingen
Trophäen
auch
#10
AW: Stapelverarbeitung: RAW Konvertierung

(achja, was ist denn perfectly clear...habe ich jetzt schon ein paarmal gelesen, aber irgendwie nicht so recht verstanden, ist das eine Zusatzsoftware?
Ja!
Ja!
Ja, mit Wasserzeichen, damit man testen kann. Wenn Du PC dann haben willst, bestellst Du es, bekommst für Dein FF einen neuen Freischaltcode und schwups, nennst Du eine sehr gute automatische Korrektur ohne Wasserzeichen Dein Eigen.

Die Forumssuche fördert noch viel mehr Infos darüber zu Tage.
 

omi

Mitglied
Dabei seit
26.01.05
Beiträge
170
Standort
München
Trophäen
{**!}*!!!
#11
AW: Stapelverarbeitung: RAW Konvertierung

...
Omi, Du bist die Wucht in Tüten! Danke für das Skript, das aber schnellstens in den Forums-Skriptbereich gehört. ....
Danke. Gegen einen Upload in den Forums-Skriptbereich habe ich selbstverständlich nichts. Nur, welche Variante soll's den sein :). Das ganze ist doch mehr eine Bastelkasten, als eine Lösung.

Mein Vorschlag, wäre eine einfache Variante, die

- von Raw konvertiert.
- eine Automatik drauf los lässt (am besten Xe847, das hat jeder) ...
- als 16-bit-tif speichert ...
- als 8-bit-jpg speichert

Ich habe noch mal ein bisschen entrümpelt und -- Kunis Arbeit fortführend -- noch mehr kommentiert.
Hier das Resultat (viel Kommentar, wenig Code). Ok so?

Wer sich auch immer berufen fühlt, möge das Skript in den offiziellen Bereich hochladen.

-oliver

Wichtig: Benötigt mindestens Fixfoto V2.84 B42
Code:
//FFSubmenu=RAW
//FFName=Raw: Umwandlung nach tif und jpg mit "Xe847"

//***************************************************
// Namensanhängsel für die zu speichernden Dateien
// Standardeinstellung: "Bild.raw" wird als "Bild-ff.tif" und "Bild-ff.jpg" gespeichert
//***************************************************

// Namenszusatz für die zu speichernde JPG-Datei
var jpgNamenszusatz = "-ff";

// Namenszusatz für die zu speichernde TIFF-Datei
var tifNamenszusatz = "-ff";



var fso = new ActiveXObject("Scripting.FileSystemObject"); 

// Schleife über alle markierten Bilder   
var imagenum = FF_GetImageCount();
for(var i = 0; i<imagenum ;i++) {
   var path = FF_GetImageName(i);
   var splitPath = SplitPath(path);
      
   // Überspringen, was nicht nach Raw aussieht
   if(splitPath.ext.toLowerCase() == ".jpg" || 
      splitPath.ext.toLowerCase() == ".bmp" || 
      splitPath.ext.toLowerCase() == ".png")  {
          continue;
   }
      
   // Bildname im Fortschrittsbalken anzeigen
   FF_SetProgressText(i, imagenum, splitPath.file);

   //***************************************************
   // Raw-Bild laden und konvertieren.
   //    
   //  Der zweite Parameter ist eine Summe von
   //     1 = Halbe Größe
   //     2 = autom. Weißabgleich
   //     4 = Kameraweißabgleich
   //     8 = RGGB als 4 Farbe interpretieren
   //    16 = Bild nach links drehen
   //    32 = Bild nach rechts drehen
   //    64 = Rauschunterdrückung 
   //   128 = Stuckpixelbeseitigung
   //
   //   Bsp: "Automatischer Weißabgleich" + "RGGB als 4 Farbe interpretieren"
   //          + "Rauschunterdrückung" ->
   //         FF_LoadRawImage(path, 2 + 8 + 64,    2.0, 4.0, "")
   //
   //   Die Parameter 3 und 4 sind nur bei aktiver Rauschunterdrückung (64) von Bedeutung (domain + range)
   //   Der letzte Parameter ist nur bei aktiver Stuckpixelbeseitigung (128) von Bedeutung (stuckfile)
   //
   //   Vor V2.84 B42 gab es die Zusatzparameter noch nicht: FF_LoadRawImage(path, 4)
   //
   // Standardmäßig wird hier nur der Kameraweißabgleich verwendet: 
   //***************************************************
   if (!FF_LoadRawImage(path, 4, 2.0, 4.0, "")) {
       continue; // Raw-Konversion ist fehlgeschlagen, gehe zum nächsten Bild
   }
   //***************************************************
      

   //***************************************************
   // Bearbeitungen im 16-Bit-Modus
   //  standardmäßig wird hier Xe847 aufgerufen
   //***** Ende der Raw-Konversion **************************

   // Automatische Bildoptimierung mit Xe47
   FF_Xe847Enhanced16(100, 100, 100, 100, 100, 0, 0, 0);

   // Alternative 1: "Perfectly Clear"
   //FF_PerfectlyClear16(true, true, 2, true, 95, true, 100, true, 100, true); 

   // Alternative 2: Kontrastautomatik
   //FF_AutoContrast16();

   // Alternative 3: Variante "Kuni"
   // hier kommt eine leichte Aufhellung, die ich für meine Canon-CR2-Bilder 
   // brauche, um die Helligkeit eines Vergleichs-JPG zu erreichen
   // FF_BrightUpDown16(595);
   // Der S-Kontrast16 ist nötig, damit die Kamera-Kontrasteinstellung, 
   // die ich auf besonders gering gestellt habe, ein wenig kompensiert wird
   // FF_SContrast16(0.65);

   //***** Ende der 16-Bit-Bearbeitung************************
	  

   // Bild mit den obigen Korrekturen mit Namenszusatz als 16bit-Tiff speichern
   FF_SaveImage16(splitPath.dir + splitPath.file + tifNamenszusatz + ".tif");

   // Bild nach 8bit konvertieren
   FF_Convert16();


   //***************************************************
   // Bearbeitungen im 8-Bit-Modus
   //   beispielsweise könnte man hier Schärfen.
   //***************************************************

   // volle Pulle Kanten schärfen
   FF_SmartSharp(192, 16); 

   // Alternativ: Mittelstarkes 3D-Schärfen
   // FF_3DSharp(70, 14); 

   // Auch 'ne Option: volle Pulle Schärfen durch Verformen
   // FF_GeoSharp(512) ; 

   //***** Ende der 8-Bit-Bearbeitung*************************
            
   // hier entsteht der neue Dateiname für das JPG
   var outName = splitPath.dir + splitPath.file + jpgNamenszusatz + ".jpg"; 
      
   // jetzt wird das JPG gespeichert
   FF_SaveImage(outName, 97);

   // Fortschritt melden 
   FF_SetProgress(i+1, imagenum)
}

// Zerteilt einen Bild-Dateinamen in sein Pfadbestandteile
function SplitPath(path) {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var    result = new Object();
    result.dir = fso.GetParentFolderName(path) + "\\";
    result.file = fso.GetBaseName(path);
    result.ext = "." + fso.GetExtensionName(path);
    return result;
    }
 
Zuletzt bearbeitet:
Dabei seit
13.09.03
Beiträge
264
Standort
München
#12
AW: Stapelverarbeitung: RAW Konvertierung

oh cool omi :) so kapier sogar ich das


was muss ich nun ändern, wenn ich x847 nur mit 70% anwenden will?


FF_Xe847Enhanced16(100, 100, 100, 100, 100, 0, 0, 0);

das ist ja einiges an 100ern ;) welchen muss ich gegen 70 austauschen?
 
Dabei seit
13.09.03
Beiträge
264
Standort
München
#13
AW: Stapelverarbeitung: RAW Konvertierung

Hey Leute ich freu mich gerade wie ein Kind :)


Ich habe noch ein bischen angepasst (Xe847 raus, Kontrastautomatik und die S Kurve...Schärfung auf 3D und 50/35)

Die Bilder werden automatisch saustark...ichbin echt beeindruckt!

Und die Geschwindigkeit ist endlich praktikabel

Endlich kann ich mit Fix Foto zumindest die batches schnell abarbeiten!


So ganz ohne offene Fragen gings aber nicht ab:


1. (s.o. wie stelle ich Xe847 auf 70%)

2. was muss ich einstellen, damit die dcraw Rauschunterdrückung greift

3. kann ich irgendwie mehrere Abarten dieses Scriptes laufen lassen (zB eins für Tiff, eins für jpg, eins für mehr Kontrast und Sättigung und eins für Bilder mit hohen ISO Zahlen)
 

kuni-r

Mitglied
Dabei seit
26.11.02
Beiträge
5.456
Standort
Nähe Memmingen
Trophäen
auch
#14
AW: Stapelverarbeitung: RAW Konvertierung

der erste 100er.

Eine Erklärung findest Du in der FixFoto Hilfe, wenn Du nach "FF_Xe847Enhanced16" suchst.
 
Dabei seit
13.09.03
Beiträge
264
Standort
München
#15
AW: Stapelverarbeitung: RAW Konvertierung

danke, hat funktioniert
kannst Du noch was zu 2. sagen?

3. hab ich gerade rausbekommen ;) ist eigentlich ganz einfach... man muss nur die Überschrift ändern im Script (ja da hätte man auch schneller draufkommen könen ;) schon klar)
 
Dabei seit
07.03.05
Beiträge
108
#16
AW: Stapelverarbeitung: RAW Konvertierung

Da fällt mir nx mehr ein ausser ein dickes fettes


omi

Wenn ich dich mal treffe geb ich einen aus


Ich werd alles am Wochende ausprobieren.

Gruß
Dirk
 

omi

Mitglied
Dabei seit
26.01.05
Beiträge
170
Standort
München
Trophäen
{**!}*!!!
#17
AW: Stapelverarbeitung: RAW Konvertierung

Hallo zusammen,

nochmal eine gesammelte Antwort, obwohl Kuni (wieder mal) schneller war :)
Den erste Parameter auf 70 stellen: FF_Xe847Enhanced16(70, 100, 100, 100, 100, 0, 0, 0);
Wichtig: an den anderen Parametern nicht(!) drehen (es sei denn du hast die Pro-Variante von
Xe847 lizensiert), sonst hast du jede Menge Wasserzeichen im Bild.

2. was muss ich einstellen, damit die dcraw Rauschunterdrückung greift
Hier ist die Dokumentation leider nicht vollständig. Ich vermute aber, dass du den Lade-Befehl
wie folgt ändern musst.

if (!FF_LoadRawImage(path, 4 + 64)) {

Ich habe keine Ahnung, wie und ob man die Parameter für "Domain" und "Range" setzen kann.
(JKS zu Hilfe :)!) Ich habe den Lade-Befehl im Skript besser kommentiert.

3. kann ich irgendwie mehrere Abarten dieses Scriptes laufen lassen (zB eins für Tiff, eins für jpg, eins für mehr Kontrast und Sättigung und eins für Bilder mit hohen ISO Zahlen)
.. indem du beliebig viele Kopien und Varianten des Skripts verwendest, und den Skrip-Namen in der 2. Skriptzeile entsprechend sinnvoll anpasst.
 
Dabei seit
07.03.05
Beiträge
108
#19
AW: Stapelverarbeitung: RAW Konvertierung

Eine kleine Frage ist mir doch noch eingefallen.

Gibt es eine Lösung wie amn die EXIF-Daten aus den Pentax PEFs in ein TIF-Bild bekommt?
Oder zumindest in ein paralles erstelltes JPG?

Gruß
Dirk
 

omi

Mitglied
Dabei seit
26.01.05
Beiträge
170
Standort
München
Trophäen
{**!}*!!!
#20
AW: Stapelverarbeitung: RAW Konvertierung

Hallo Dirk,

auf deine kleine Frage gibt es (glaube ich) keine kleine Antwort. dcraw (das ist die Fremdbibbliotek, die hinter den Kulissen werkelt, wenn der FF_LoadRawImage arbeitet) unterstützt meines Wissens nach die EXIF-Daten nicht besonders gut und umfassend.

Folgende Optionen gibt es:

1. Meine Canon 300D erzeugt neben den Raw-Dateien (*.CRW) noch gleichnamige *.THM-Dateien. Letztere sind eine Art Jpeg. Darin enthalten sind auch die EXIF-Daten. dcraw kann offensichtlich damit umgehen, so dass die JPGs, die durch mein Skript entstehen, auch EXIF-Daten haben.

2. Viele Kameras haben einen Modus, bei dem neben dem Raw-Bild immer noch ein jpg-Bild erzeugt wird. Letzteres darf ruhig klein (von geringer Auflösung) sein. Wichtig ist nur, dass es die EXIFs enthält.
Wenn ich Kunis Post richtig interpretiere, dann werden in diesem Fall die Exifs automatisch übernommen.
Nicht mehr notwendig: Von diesem Begleit-Jpg kannst du die EXIFS "klauen". Entweder im "Handbetrieb" (Kontextmenü-Exif kopieren + Kontextmenü-Exif einfügen) oder per Skript. Letzteres müsste mir folgendem Code gehen (ungetestet), den du im Skript hinter FF_SaveImage(outName, 97) einfügst.

Code:
     // Exif-Daten aus gleichnamigem JPG lesen
     if (!FF_LoadExif(splitPath.dir + splitPath.file + ".jpg")) {
	  	 continue; // hat nicht funktioniert
     }
     // Exif-Daten in das resultierende JPG schreiben
     FF_SaveExif(outName);
Wichtig ist dabei, dass die Variable "jpgNamenszusatz" nicht(!) leer ("") ist, sonst überschreibst du dir dein Begleit-JPG mit den EXIFS bevor du es auslesen kannst :).

2a Ein ungetesteter Trick, der vielleicht auch funktioniert. Vor der Raw-Konversion kopierst du dein Begleit-JPG auf eine gleichnamige THM-Datei. Könnte gut sein, dass dcraw daraus die Exifs entnimmt.

3. Ohne begleitendes JPG- oder THM-File bleibt dir meines Wissens nur, irgend ein Fremdtool zu nehmen, welches entweder die gesammte Konversion übernimmt, oder wenigstens irgendwie ein JPG mit EXIFs erzeugt, so dass du bei Punkt 2 ansetzen kannst.
 
Zuletzt bearbeitet:
Oben