O formato para correção de distorção e aberração cromática de lentes µ4 / 3 está documentado?


8

As câmeras micro 4/3 da Olympus aplicam correção de distorção em seus JPEGs na câmera quando usadas com uma lente micro 4/3. As câmeras Panasonic corrigem distorção e aberração cromática com suas lentes.

Embora eu não tenha certeza de onde essas informações estão armazenadas, uma vez que isso também funciona no software fora da câmera, acho que estão nos metadados anexados às imagens RAW.

Esse formato está documentado em algum lugar (oficialmente ou por engenharia reversa)? Seria bom poder implementar essa correção no software de código aberto (especificamente lensfun ) sem precisar calibrar a lente ou confiar no banco de dados de calibração.

EDIT : para deixar isso perfeitamente claro - o objetivo é tirar o arquivo RAW da câmera e poder aplicar a mesma correção que o JPEG da câmera recebe ou que é aplicado pelo software Olympus.

Respostas:


4

Parece haver um movimento de código aberto bastante rico na comunidade Linux para gerar processadores de formato de arquivo bruto para linux. Eu encontrei vários wiki que estão trabalhando na compilação de detalhes de formato de arquivo para formatos RAW conhecidos, e existem alguns aplicativos que contêm algum código. Alguns formatos, como o .CRW e .CR2 da Canon, são especificações abertas e você pode encontrar os detalhes online. Parece que o formato .ORF (ou o formato Panasonic .RAW) não está aberto; portanto, a única coisa que pode ser adquirida é através da engenharia reversa. Duvido que as informações que você está procurando estejam contidas nos dados EXIF; no entanto, se estiverem armazenadas, deverão estar disponíveis nos metadados do formato RAW. Aqui estão alguns recursos:

A maior parte do formato de arquivo RAW é um despejo direto de dados do sensor, de um array Bayer, CCD ou possivelmente de um CMOS em camadas (como o Foveon.) Isso facilita a localização dos dados da imagem, pois são muito padronizados. Os dados nos quais você está interessado provavelmente serão mais complexos e aleatórios, armazenados no início ou possivelmente no final de um formato de arquivo. Eu fiz uma boa quantidade de engenharia reversa de formato de arquivo nos meus dias e talvez consiga reconhecer alguma estrutura no formato .ORF para você. (Trabalhei em um editor para o Sim City 4 e o The Sims 2 há alguns anos e, além de alguns outros, devemos ter decodificado mais de 300 formatos de arquivo via HEX. Talvez eu possa ajudar a fornecer algumas dicas, se puder obtenha alguns arquivos .ORF raw da câmera + lentes às quais você tem acesso.) Sua melhor aposta,

ATUALIZAR:

Como alternativa, parece que a Adobe lançou um gerador de Perfil de lente que pode gerar perfis de lente para o Lightroom 3 / ACR. Eles cobrem distorção geométrica, aberração cromática e vinheta. Eu sei que você mencionou algo que poderia ser usado com o programa lensfun, mas isso pode ser uma alternativa viável.


Dei uma olhada no formato aberto Adobe DNG, que contém várias tags para esses tipos de correção fora da câmera. Infelizmente, a execução de um ORF através do conversor DNG da Adobe não preenche esses campos, ou eu estaria pronto! Quanto ao Lens Profile Creator da Adobe, isso pode ser interessante como um calibrador mais amigável (e amplamente usado) + repositório on-line de perfis de lentes, mas a biblioteca lensfun já possui um banco de dados de perfis de lentes gerados usando Hugin. Meu objetivo é tornar a criação do perfil desnecessária para as lentes µ4 / 3s, já que elas foram incorporadas (em algum lugar!).
RAOF 15/08/10

O formato do perfil da lente do ACR / Lightroom pode ser mais fácil de quebrar do que o formato de arquivo bruto .ORF. Você pode tentar criar alguns perfis para sua lente e ver se consegue extrair essas informações.
jrista

Obviamente, a engenharia reversa é possível, mas dificilmente a resposta para a pergunta.
Torsten Bronger

@ bronger: Na verdade, ele responde à pergunta da melhor forma possível na época. O OP solicitou documentação e indicou que o objetivo era finalmente implementar a funcionalidade de correção de lente no OSS. As informações que forneci foram as melhores informações disponíveis QUATRO ANOS atrás. Acho que seu voto negativo é injustificado e seu comentário perdeu o objetivo da pergunta.
jrista

O objetivo da documentação é evitar a engenharia reversa.
Torsten Bronger

4

Pelo menos as câmeras Panasonic armazenam informações de correção da lente nos arquivos brutos. Alguns resultados preliminares da engenharia reversa dos campos exif relevantes podem ser encontrados em http://syscall.eu/#pana .

As informações de correção da distorção são armazenadas no 0x119tag e consistem em 16 números inteiros de 16 bits, cujo significado é decodificado na postagem vinculada. As informações de aberração cromática são armazenadas na 0x011betiqueta, que ainda não foi investigada.


1

Também pode fazer parte do aperto de mão do corpo da lente. Não tenho certeza de como o software de desktop saberia as informações. Como você está determinando que o software fora da câmera pode fazer a correção?

Sei que a Adobe tem algum tipo de correção de lente pública para o Lightroom 3, talvez você tenha mais sorte em fazer engenharia reversa dessas coisas.


dpreview.com/articles/distortion/page2.asp fornece alguns detalhes. Parece que o Adobe Camera Raw também coleta essas informações nos arquivos brutos.
RAOF 10/08/10

11
Observe que os dados estão incluídos nos arquivos RAW , não nos JPEGs. Eu acho que você está sem sorte se estiver olhando para JPEGs, pois eles já serão corrigidos.
Josh Goldshlag

1

Não é armazenado no Exif - a correção é aplicada automaticamente às imagens JPEG.
O formato bruto da Olympus contém uma matriz de parâmetros simples (4?) Para correção de lentes para lentes regulares - isso é apenas para modelos de gama alta e é preenchida apenas pelas câmeras da série pro.

As correções para o software Adobe são geradas pelas próprias lentes de teste da Adobe - tit não usa os valores do fabricante.

Desculpe, não sei sobre o micro 4/3.


0

Eu acho que apenas os dados da lente são armazenados no EXIF, os valores de correção são codificados no firmware da câmera e no software de pós-processamento e não estão incluídos no EXIF.


Eu acho que é possível; parece uma maneira estúpida de fazê-lo. Principalmente porque minha lente Panasonic recebe correções aplicadas no meu corpo Olympus E-PL1 (e acredito que o inverso é verdadeiro - as lentes Olympus são corrigidas nos corpos Panasonic). Seria necessária uma atualização de software e firmware sempre que uma nova lente µ4 / 3 fosse lançada por qualquer pessoa.
RAOF 9/08/10

@RAOF: Pode não necessariamente exigir uma atualização de firmware. Um formato flexível de especificação de lente pode ser criado para permitir que as lentes definam suas distorções, e um único software pode aplicar o processamento de correção com base nessa especificação. Isso é essencialmente o que o Adobe Lightroom 3 faz com seus novos perfis de lente de câmera. Se cada lente contivesse sua especificação, você não precisaria atualizar o firmware para cada lente ... anexar uma lente é suficiente, pois informaria ao firmware quais são seus fatores de correção.
jrista

Certo - esses fatores de correção (+ o algoritmo específico usado) são o que estou procurando!
RAOF 14/08/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.