¿Está documentado el formato para la corrección de distorsión y aberración cromática de lentes µ4 / 3?


8

Las cámaras Olympus micro 4/3 aplican corrección de distorsión en sus JPEG en la cámara cuando se usan con una lente micro 4/3. Las cámaras Panasonic corrigen la distorsión y la aberración cromática con sus lentes.

Aunque no estoy seguro de dónde se almacena esta información, dado que esto también funciona en el software fuera de cámara, supongo que está en metadatos adjuntos a las imágenes RAW.

¿Se documenta este formato en algún lugar (ya sea oficialmente o mediante ingeniería inversa)? Sería bueno poder implementar esta corrección en software de código abierto (específicamente lensfun ) sin necesidad de calibrar la lente o confiar en la base de datos de calibración.

EDITAR : para dejar esto perfectamente claro: el objetivo es tomar el archivo RAW de la cámara y poder aplicar la misma corrección que obtiene el JPEG en la cámara, o que aplica el software Olympus.

Respuestas:


4

Parece haber un movimiento de código abierto bastante rico en la comunidad Linux para generar procesadores de formato de archivo sin formato para Linux. He encontrado varias wiki que están trabajando en la compilación de detalles de formato de archivo para formatos RAW conocidos, y hay algunas aplicaciones que contienen algún código. Algunos formatos, como .CRW y .CR2 de Canon, son especificaciones abiertas y puede encontrar los detalles en línea. Parece que el formato .ORF (o el formato .RAW de Panasonic) no están abiertos, por lo que lo único que se puede obtener es la ingeniería inversa. Dudo que la información que está buscando esté contenida en datos EXIF, sin embargo, si está almacenada, debería estar disponible en metadatos en formato RAW. Aquí hay algunos recursos:

La mayor parte de un formato de archivo RAW es un volcado directo de datos del sensor, ya sea desde una matriz de Bayer, CCD o posiblemente un CMOS en capas (como el Foveon). Eso hace que los datos de la imagen sean bastante fáciles de detectar, ya que está muy modelado. Es probable que los datos que le interesen sean más complejos y aleatorios, ya sea almacenados al principio o posiblemente al final de un formato de archivo. He hecho una buena cantidad de ingeniería inversa de formato de archivo en mi día y es posible que pueda reconocer alguna estructura en el formato .ORF para usted. (Trabajé en un editor para Sim City 4 y Sims 2 hace varios años, y junto con algunos otros, debemos haber decodificado más de 300 formatos de archivo a través de HEX. Tal vez pueda ayudar a proporcionar alguna información si puedo obtenga algunos archivos RAW .ORF de la cámara + lentes a los que tiene acceso.) Su mejor apuesta,

ACTUALIZAR:

Alternativamente, parece que Adobe ha lanzado un generador de perfil de lente que puede generar perfiles de lente para Lightroom 3 / ACR. Cubren la distorsión geométrica, la aberración cromática y el viñeteado. Sé que mencionaste algo que podría usarse con el programa lensfun, pero esta podría ser una alternativa viable.


Eché un vistazo al formato abierto Adobe DNG, y que contiene un montón de etiquetas para este tipo de corrección fuera de cámara. Lamentablemente, ejecutar un ORF a través del convertidor DNG de Adobe no llena estos campos, ¡o habría terminado! En cuanto al Lens Profile Creator de Adobe, eso podría ser interesante como un calibrador más amigable (y ampliamente utilizado) + repositorio en línea de perfiles de lentes, pero la biblioteca lensfun ya tiene una base de datos de perfiles de lentes generados con Hugin. Mi objetivo es hacer que la creación del perfil sea innecesaria para lentes µ4 / 3s, ya que la tienen incorporada (¡en algún lugar!).
RAOF

El formato de perfil de lente para ACR / Lightroom podría ser más fácil de descifrar que el formato de archivo sin formato .ORF. Puede intentar crear algunos perfiles para su lente y ver si puede extraer esa información en su lugar.
jrista

Por supuesto, la ingeniería inversa es posible, pero difícilmente la respuesta a la pregunta.
Torsten Bronger

@bronger: En realidad, responde la pregunta, de la mejor manera posible en ese momento. El OP solicitó documentación e indicó que el objetivo era finalmente implementar la funcionalidad de corrección de lentes en OSS. La información que proporcioné fue la mejor información disponible hace CUATRO AÑOS. Creo que su voto negativo es injustificado y su comentario perdió el punto de la pregunta.
jrista

El punto de la documentación es evitar la ingeniería inversa.
Torsten Bronger

4

Al menos las cámaras Panasonic almacenan información de corrección de lentes en los archivos sin formato. Algunos resultados preliminares de la ingeniería inversa de los campos exif relevantes se pueden encontrar en http://syscall.eu/#pana .

La información de corrección de distorsión se almacena en la 0x119etiqueta y consta de 16 enteros de 16 bits, cuyo significado se decodifica en la publicación vinculada. La información de aberración cromática se almacena en la 0x011betiqueta, que aún no se ha investigado.


1

También podría ser parte del apretón de manos del cuerpo de la lente. Sin embargo, no estoy seguro de cómo el software de escritorio conocería la información. ¿Cómo está determinando que el software fuera de cámara puede hacer la corrección?

Sé que Adobe tiene algún tipo de corrección de lente pública para Lightroom 3, tal vez tengas mejor suerte en ingeniería inversa.


dpreview.com/articles/distortion/page2.asp da algunos detalles. Parece que Adobe Camera Raw también recoge esta información en los archivos sin formato.
RAOF

1
Tenga en cuenta que los datos se incluyen en los archivos RAW , no en los JPEG. Creo que no tienes suerte si estás mirando archivos JPEG, ya que esos ya serán corregidos.
Josh Goldshlag

1

No se almacena en Exif: la corrección se aplica automáticamente a las imágenes JPEG.
El formato RAW Olympus contiene una matriz de parámetros simple (4?) Para la corrección de la lente para lentes normales; esto es solo para los modelos de gama alta y solo se completa con las cámaras de la serie Pro.

Las correcciones para el software de Adobe son generadas por los propios lentes de prueba de Adobe: tit no utiliza los valores de los fabricantes.

Lo siento, no sé sobre el micro 4/3.


0

Supongo que solo los datos de la lente se almacenan en EXIF, las cantidades de corrección están codificadas tanto en el firmware de la cámara como en el software de procesamiento posterior y no están incluidas en EXIF.


Supongo que es posible; Sin embargo, parece una forma estúpida de hacerlo. Particularmente porque mi lente Panasonic aplica correcciones en mi cuerpo Olympus E-PL1 (y creo que lo contrario es cierto: las lentes Olympus se corrigen en los cuerpos Panasonic). Requeriría una actualización de software y firmware cada vez que alguien lanzara una nueva lente µ4 / 3.
RAOF

@RAOF: es posible que no requiera necesariamente una actualización de firmware. Se puede crear un formato de especificación de lente flexible que permita a las lentes definir sus distorsiones, y una sola pieza de software puede aplicar el procesamiento de corrección basado en dicha especificación. Eso es esencialmente lo que Adobe Lightroom 3 hace con sus nuevos perfiles de lente de cámara. Si cada lente contuviera su especificación, no necesitaría actualizar el firmware para cada lente ... colocar una lente es suficiente, ya que le diría al firmware cuáles son sus factores de corrección.
jrista

Correcto: ¡esos factores de corrección (+ el algoritmo específico utilizado) son lo que estoy buscando!
RAOF
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.