Ist das Format für die Verzeichnungs- und Farbfehlerkorrektur von µ4/3-Objektiven dokumentiert?

Olympus Micro 4/3-Kameras wenden eine Verzerrungskorrektur auf ihre kamerainternen JPEGs an, wenn sie mit einem Micro 4/3-Objektiv verwendet werden. Kameras von Panasonic korrigieren mit ihren Objektiven sowohl Verzerrungen als auch chromatische Aberrationen.

Obwohl ich nicht sicher bin, wo diese Informationen gespeichert sind, würde ich vermuten, dass sie sich in Metadaten befinden, die an die RAW-Bilder angehängt sind, da dies auch mit der Off-Camera-Software funktioniert.

Ist dieses Format irgendwo dokumentiert (entweder offiziell oder durch Reverse-Engineering)? Es wäre schön, diese Korrektur in Open-Source-Software (insbesondere lensfun ) implementieren zu können, ohne entweder das Objektiv kalibrieren oder sich auf die Kalibrierungsdatenbank verlassen zu müssen.

BEARBEITEN : Um dies ganz klar zu machen - das Ziel besteht darin, die RAW-Datei von der Kamera zu nehmen und dieselbe Korrektur anwenden zu können, die das JPEG in der Kamera erhält oder die von der Olympus-Software angewendet wird.

Antworten (5)

Es scheint eine ziemlich reiche Open-Source-Bewegung in der Linux-Community zu geben, um Prozessoren im Rohdateiformat für Linux zu generieren. Ich habe mehrere Wikis gefunden, die daran arbeiten, Dateiformatdetails für bekannte RAW-Formate zu kompilieren, und es gibt einige Anwendungen, die Code enthalten. Einige Formate, wie Canons .CRW und .CR2, sind offene Spezifikationen und Sie können die Details online finden. Es scheint, dass das .ORF-Format (oder das Panasonic .RAW-Format) nicht offen ist, sodass das einzige Wissen, das gesammelt werden kann, über Reverse Engineering erfolgt. Ich bezweifle, dass die gesuchten Informationen in EXIF-Daten enthalten sind, aber wenn sie gespeichert sind, sollten sie in Metadaten im RAW-Format verfügbar sein. Hier sind einige Ressourcen:

Der Großteil eines RAW-Dateiformats ist ein direkter Sensordaten-Dump, entweder von einem Bayer-Array, CCD oder möglicherweise einem geschichteten CMOS (wie dem Foveon). Dadurch sind die Bilddaten ziemlich leicht zu erkennen, da sie sehr gemustert sind. Die Daten, an denen Sie interessiert sind, werden wahrscheinlich komplexer und zufälliger sein, entweder am Anfang oder möglicherweise am Ende eines Dateiformats gespeichert. Ich habe zu meiner Zeit eine Menge Reverse Engineering von Dateiformaten durchgeführt und kann möglicherweise einige Strukturen im .ORF-Format für Sie erkennen. (Ich habe vor einigen Jahren an einem Editor für Sim City 4 und die Sims 2 gearbeitet, und neben einigen anderen müssen wir mehr als 300 Dateiformate über HEX dekodiert haben. Ich kann vielleicht helfen, einen Einblick zu geben, wenn ich kann Besorgen Sie sich einige .ORF-Rohdateien von den Kameras und Objektiven, auf die Sie Zugriff haben.) Ihre beste Wahl,

AKTUALISIEREN:

Alternativ scheint Adobe einen Objektivprofilgenerator veröffentlicht zu haben, der Objektivprofile für Lightroom 3/ACR generieren kann. Sie umfassen geometrische Verzerrung, chromatische Aberration und Vignettierung. Ich weiß, dass Sie etwas erwähnt haben, das mit dem Programm lensfun verwendet werden könnte, aber dies könnte eine praktikable Alternative sein.

Ich habe mir das offene Adobe DNG-Format angesehen, und das enthält eine Reihe von Tags für diese Art von Korrektur außerhalb der Kamera. Leider werden diese Felder nicht ausgefüllt, wenn ein ORF über den DNG-Konverter von Adobe ausgeführt wird, sonst wäre ich fertig! Der Lens Profile Creator von Adobe könnte als benutzerfreundlicherer (und weit verbreiteter) Kalibrator + Online-Repository für Objektivprofile interessant sein, aber die Lensfun-Bibliothek verfügt bereits über eine Datenbank mit Objektivprofilen, die mit Hugin erstellt wurden. Mein Ziel ist es, die Profilerstellung für µ4/3s-Objektive unnötig zu machen, da sie es (irgendwo!) eingebaut haben.
Das Objektivprofilformat für ACR/Lightroom ist möglicherweise einfacher zu knacken als das .ORF-Rohdateiformat. Sie können versuchen, einige Profile für Ihr Objektiv zu erstellen, und sehen, ob Sie diese Informationen stattdessen extrahieren können.
Reverse Engineering ist natürlich möglich, aber kaum die Antwort auf die Frage.
@bronger: Tatsächlich beantwortet es die Frage so gut wie damals möglich. Das OP bat um Dokumentation und gab an, dass das Ziel darin bestand, letztendlich die Objektivkorrekturfunktionalität in OSS zu implementieren. Die Informationen, die ich bereitgestellt habe, waren die besten Informationen, die vor VIER JAHREN verfügbar waren. Ich denke, Ihre Ablehnung ist ungerechtfertigt und Ihr Kommentar hat den Punkt der Frage verfehlt.
Der Sinn der Dokumentation besteht darin , Reverse-Engineering zu vermeiden .
@bronger: Und ich zitiere das OP: Is this format documented anywhere (either officially **or through reverse-engineering**)?Das OP erklärte ausdrücklich, dass Reverse Engineering eine durchaus praktikable Option sei, daher verstehe ich immer noch nicht, warum Sie Ihr Argument vorbringen, und glaube immer noch, dass Ihre Ablehnung nicht gerechtfertigt war.
Er bat um Dokumentation, egal wie diese erstellt wurde. Dies unterscheidet sich davon, um Hilfe zu bitten, um sich selbst zurückzuentwickeln.
Ich wollte die Ablehnung nur rückgängig machen, weil sie zu hart ist, aber sie lässt mich nicht.
@bronger: Du verfehlst immer noch den Punkt. Ich habe DIE BESTEN und DIE EINZIGEN Informationen, die verfügbar waren, PERIOD, verlinkt, als ich diese Antwort erstellt habe. Die von mir angebotenen Links sind die einzige "Dokumentation", die verfügbar war. Wenn Sie meinen Beitrag tatsächlich gelesen haben, war mir klar, dass die von mir bereitgestellten Links nur für das OP hilfreich waren, um selbst eine Lösung zurückzuentwickeln ... ABER ES WAR ALLES, WAS VERFÜGBAR WAR. Zumindest habe ich so viel wie möglich angeboten, als die Frage gestellt wurde, anstatt einfach gar nicht zu antworten, weil ich nicht die richtige Art von "Dokumentation" geliefert habe ...
Was die Ablehnung angeht, ist mir das egal. Ich denke, es war ungerechtfertigt und ungerechtfertigt, ich glaube nicht, dass Sie meine Antwort tatsächlich in dem Kontext gelesen haben, in dem sie gegeben wurde (noch in dem Zeitrahmen, der vier Jahre zurückliegt), aber die einzige Möglichkeit, es Ihnen zu ermöglichen, es rückgängig zu machen, wäre um meine Antwort zu bearbeiten ... und es gibt wirklich nichts zu bearbeiten. Ich habe damals die besten Informationen angeboten, die es gab, und ich schäme mich dessen nicht.

Zumindest Panasonic-Kameras speichern Objektivkorrekturinformationen in den Rohdateien. Einige vorläufige Ergebnisse des Reverse-Engineering der relevanten Exif-Felder finden Sie unter http://syscall.eu/#pana .

Die Informationen zur Verzerrungskorrektur werden im 0x119Tag gespeichert und bestehen aus 16 16-Bit-Ganzzahlen, deren Bedeutung im verlinkten Beitrag entschlüsselt wird. Die Informationen zur chromatischen Aberration sind im Tag gespeichert 0x011b, was noch nicht untersucht wurde.

Es könnte auch Teil des Objektiv-Körper-Handshakes sein. Ich bin mir jedoch nicht sicher, wie die Desktop-Software die Informationen kennen würde. Wie stellen Sie fest, dass die Off-Camera-Software die Korrektur durchführen kann?

Ich weiß, dass Adobe eine Art öffentliches Objektivkorrektur-Zeug für Lightroom 3 hat, vielleicht haben Sie mehr Glück beim Reverse-Engineering dieses Zeugs.

dpreview.com/articles/distortion/page2.asp enthält einige Details. Es scheint, dass Adobe Camera Raw diese Informationen auch in den Raw-Dateien aufgreift.
Beachten Sie, dass die Daten in den RAW - Dateien enthalten sind, nicht in den JPEGs. Ich denke, Sie haben Pech, wenn Sie sich JPEGs ansehen, da diese bereits korrigiert werden.

Es wird nicht im Exif gespeichert - die Korrektur wird automatisch auf JPEG-Bilder angewendet.
Das Olympus-Rohformat enthält eine einfache (4 ?) Parametermatrix zur Objektivkorrektur für normale Objektive - dies gilt nur für die High-End-Modelle und wird nur von den Kameras der Pro-Serie gefüllt.

Die Korrekturen für die Adobe-Software werden von Adobe-Testobjektiven selbst generiert - sie verwendet nicht die Herstellerwerte.

Tut mir leid, ich weiß nichts über das Mikro 4/3.

Ich würde vermuten, dass nur Objektivdaten in EXIF ​​gespeichert sind, die Korrekturbeträge sind sowohl in der Kamera-Firmware als auch in der Nachbearbeitungssoftware fest codiert und nicht in EXIF ​​enthalten.

Ich denke, das ist möglich; Es scheint jedoch eine dumme Art zu sein, es zu tun. Zumal mein Panasonic-Objektiv Korrekturen an meinem Olympus E-PL1-Gehäuse erhält (und ich glaube, das Gegenteil ist der Fall - Olympus-Objektive werden an Panasonic-Gehäusen korrigiert). Jedes Mal, wenn ein neues µ4/3-Objektiv von irgendjemandem herausgebracht wird, wäre sowohl ein Software- als auch ein Firmware-Upgrade erforderlich.
@RAOF: Es ist möglicherweise nicht unbedingt ein Firmware-Update erforderlich. Es kann ein flexibles Objektivspezifikationsformat erstellt werden, das es Objektiven ermöglicht, ihre Verzerrungen zu definieren, und ein einzelnes Stück Software kann die Korrekturverarbeitung auf der Grundlage einer solchen Spezifikation anwenden. Das ist im Wesentlichen das, was Adobe Lightroom 3 mit seinen neuen Kameraobjektivprofilen macht. Wenn jedes Objektiv seine Spezifikation enthalten würde, müssten Sie die Firmware nicht für jedes Objektiv aktualisieren ... das Anbringen eines Objektivs reicht aus, da es der Firmware mitteilen würde, welche Korrekturfaktoren es gibt.
Richtig - diese Korrekturfaktoren (+ der spezifische verwendete Algorithmus) sind das, wonach ich suche!