Ist das Format für die Verzerrungs- und chromatische Aberrationskorrektur von µ4 / 3-Objektiven dokumentiert?


8

Olympus Micro 4/3-Kameras wenden bei Verwendung eines Micro 4/3-Objektivs eine Verzerrungskorrektur auf ihre kamerainternen JPEGs an. Panasonic-Kameras 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 in Metadaten enthalten sind, die an die RAW-Bilder angehängt sind, da dies auch mit der Software außerhalb der Kamera 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 das Objektiv kalibrieren oder sich auf die Kalibrierungsdatenbank verlassen zu müssen.

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

Antworten:


4

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 .CRW und .CR2 von Canon, sind offene Spezifikationen, und Sie können die Details online finden. Es scheint, dass das .ORF-Format (oder das .RAW-Format von Panasonic) nicht geöffnet ist. Das einzige Wissen, das gewonnen werden kann, ist das Reverse Engineering. Ich bezweifle, dass die gesuchten Informationen in EXIF-Daten enthalten sind. Wenn sie jedoch 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 strukturiert sind. Die Daten, an denen Sie interessiert sind, sind wahrscheinlich komplexer und zufälliger und werden entweder am Anfang oder möglicherweise am Ende eines Dateiformats gespeichert. Ich habe in meiner Zeit eine ganze Menge Reverse Engineering im Dateiformat durchgeführt und kann möglicherweise eine Struktur 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 über 300 Dateiformate über HEX dekodiert haben. Ich kann möglicherweise helfen, einen Einblick zu gewähren, wenn ich kann Besorgen Sie sich einige .ORF-Rohdateien von der Kamera + den Objektiven, auf die Sie Zugriff haben.) Ihre beste Wahl,

AKTUALISIEREN:

Alternativ scheint Adobe einen Linsenprofilgenerator veröffentlicht zu haben, mit dem Linsenprofile für Lightroom 3 / ACR erstellt werden können. Sie decken geometrische Verzerrungen, chromatische Aberration und Vignettierung ab. 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, das eine Reihe von Tags für diese Art der Korrektur außerhalb der Kamera enthält. Wenn Sie einen ORF über den DNG-Konverter von Adobe ausführen, werden diese Felder leider nicht ausgefüllt, sonst wäre ich fertig! Der Lens Profile Creator von Adobe mag als benutzerfreundlicherer (und weit verbreiteter) Kalibrator + Online-Repository für Linsenprofile interessant sein, aber die Lensfun-Bibliothek verfügt bereits über eine Datenbank mit mit Hugin erstellten Linsenprofilen. Mein Ziel ist es, die Profilerstellung für µ4 / 3s-Objektive unnötig zu machen, da sie (irgendwo!) Eingebaut sind.
RAOF

Das Objektivprofilformat für ACR / Lightroom ist möglicherweise leichter zu knacken als das .ORF-Rohdateiformat. Sie können versuchen, einige Profile für Ihr Objektiv zu erstellen, und prüfen, ob Sie diese Informationen stattdessen extrahieren können.
jrista

Natürlich ist Reverse Engineering möglich, aber kaum die Antwort auf die Frage.
Torsten Bronger

@bronger: Eigentlich beantwortet es die Frage so gut wie möglich zu der Zeit. Das OP bat um Dokumentation und gab an, dass das Ziel darin bestehe, die Linsenkorrekturfunktionalität in OSS zu implementieren. Die Informationen, die ich zur Verfügung stellte, waren die besten verfügbaren Informationen vor VIER JAHREN. Ich denke, Ihre Ablehnung ist nicht gerechtfertigt und Ihr Kommentar hat den Punkt der Frage verfehlt.
jrista

Der Punkt der Dokumentation besteht darin , Reverse Engineering zu vermeiden .
Torsten Bronger

4

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

Die Verzerrungskorrekturinformationen werden im 0x119Tag gespeichert und bestehen aus 16 16-Bit-Ganzzahlen, deren Bedeutung im verknüpften Beitrag dekodiert wird. Die chromatischen Aberrationsinformationen werden in dem 0x011bTag gespeichert , das noch nicht untersucht wurde.


1

Es könnte auch Teil des Handshakes des Objektivkörpers sein. Ich bin mir nicht sicher, woher die Desktop-Software die Informationen kennt. Wie stellen Sie fest, dass die Software außerhalb der Kamera die Korrektur durchführen kann?

Ich weiß, dass Adobe eine Art öffentliches Objektivkorrekturmaterial für Lightroom 3 hat. Vielleicht haben Sie besseres Glück, dieses Material rückzuentwickeln.


dpreview.com/articles/distortion/page2.asp enthält einige Details. Es scheint, dass Adobe Camera Raw diese Informationen auch in den Rohdateien aufnimmt.
RAOF

1
Beachten Sie, dass die Daten in den RAW- Dateien enthalten sind, nicht in den JPEGs. Ich denke, Sie haben kein Glück, wenn Sie sich JPEGs ansehen, da diese bereits korrigiert werden.
Josh Goldshlag

1

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 verwendet.

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

Entschuldigung, ich weiß nichts über das Micro 4/3.


0

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 ein dummer Weg zu sein, dies zu tun. Zumal bei meinem Panasonic-Objektiv Korrekturen an meinem Olympus E-PL1-Gehäuse vorgenommen werden (und ich glaube, dass das Gegenteil der Fall ist - Olympus-Objektive werden bei Panasonic-Körpern korrigiert). Es würde jedes Mal ein Software- und Firmware-Upgrade erfordern, wenn ein neues µ4 / 3-Objektiv von irgendjemandem veröffentlicht wurde.
RAOF

@RAOF: Möglicherweise ist kein Firmware-Update erforderlich. Es kann ein flexibles Objektivspezifikationsformat erstellt werden, mit dem Objektive ihre Verzerrungen definieren können, und eine einzelne Software kann die Korrekturverarbeitung basierend auf einer solchen Spezifikation anwenden. Genau das macht Adobe Lightroom 3 mit seinen neuen Kameraobjektivprofilen. 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 dies der Firmware die Korrekturfaktoren mitteilt.
jrista

Richtig - diese Korrekturfaktoren (+ der verwendete spezifische Algorithmus) sind das, wonach ich suche!
RAOF
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.