Le format de la correction de la distorsion et de l'aberration chromatique des objectifs µ4 / 3 est-il documenté?


8

Les appareils photo Olympus micro 4/3 appliquent une correction de la distorsion sur leurs fichiers JPEG intégrés lorsqu'ils sont utilisés avec un objectif micro 4/3. Les caméras Panasonic corrigent à la fois la distorsion et l'aberration chromatique avec leurs objectifs.

Bien que je ne sois pas sûr où ces informations sont stockées, car cela fonctionne également sur le logiciel hors caméra, je suppose que ce sont des métadonnées attachées aux images RAW.

Ce format est-il documenté n'importe où (officiellement ou par rétro-ingénierie)? Ce serait bien de pouvoir implémenter cette correction dans un logiciel open-source (spécifiquement lensfun ) sans avoir besoin d'étalonner l'objectif ou de s'appuyer sur la base de données d'étalonnage.

EDIT : pour que cela soit parfaitement clair - l'objectif est de prendre le fichier RAW de l'appareil photo et de pouvoir appliquer la même correction que le JPEG intégré à l'appareil photo, ou qui est appliquée par le logiciel Olympus.

Réponses:


4

Il semble y avoir un mouvement Open Source assez riche dans la communauté Linux pour générer des processeurs de format de fichier brut pour linux. J'ai trouvé plusieurs wiki qui travaillent sur la compilation des détails de format de fichier pour les formats RAW connus, et il y a quelques applications qui contiennent du code. Certains formats, comme .CRW et .CR2 de Canon, sont des spécifications ouvertes et vous pouvez trouver les détails en ligne. Il semble que le format .ORF (ou le format Panasonic .RAW) ne soit pas ouvert, donc la seule chose qui peut être glanée est via l'ingénierie inverse. Je doute que les informations que vous recherchez soient contenues dans les données EXIF, mais si elles sont stockées, elles devraient être disponibles au format RAW. Voici quelques ressources:

La majeure partie d'un format de fichier RAW est un vidage de données de capteur direct, à partir d'une baie Bayer, d'un CCD ou éventuellement d'un CMOS en couches (comme le Foveon). Cela rend les données d'image assez faciles à repérer, car elles sont très structurées. Les données qui vous intéressent seront probablement plus complexes et aléatoires, stockées au début ou éventuellement à la fin d'un format de fichier. J'ai fait pas mal d'ingénierie inverse de format de fichier de mon temps, et je peux peut-être reconnaître une certaine structure au format .ORF pour vous. (J'ai travaillé sur un éditeur pour Sim City 4 et les Sims 2 il y a un certain nombre d'années, et à côté de quelques autres, nous devons avoir décodé plus de 300 formats de fichiers via HEX. Je pourrai peut-être fournir des informations si je le peux obtenir certains fichiers bruts .ORF de la caméra + objectifs auxquels vous avez accès.) Votre meilleur pari,

MISE À JOUR:

Alternativement, il semble qu'Adobe ait publié un générateur de profil d'objectif qui peut générer des profils d'objectif pour Lightroom 3 / ACR. Ils couvrent la distorsion géométrique, l'aberration chromatique et le vignettage. Je sais que vous avez mentionné quelque chose qui pourrait être utilisé avec le programme lensfun, mais cela pourrait être une alternative viable.


J'ai jeté un coup d'œil au format Adobe DNG ouvert, qui contient un tas de balises pour ces types de correction hors caméra. Malheureusement, l'exécution d'un ORF via le convertisseur DNG d'Adobe ne remplit pas ces champs, ou j'aurais fini! Quant à Lens Profile Creator d'Adobe, cela pourrait être intéressant en tant que calibrateur plus convivial (et largement utilisé) + référentiel en ligne de profils d'objectif, mais la bibliothèque lensfun possède déjà une base de données de profils d'objectif générés à l'aide de Hugin. Mon objectif est de rendre la création de profil inutile pour les objectifs µ4 / 3s, car ils l'ont intégré (quelque part!).
RAOF

Le format de profil d'objectif pour ACR / Lightroom pourrait être plus facile à craquer que le format de fichier brut .ORF. Vous pouvez essayer de créer des profils pour votre objectif et voir si vous pouvez extraire ces informations à la place.
jrista

Bien sûr, la rétro-ingénierie est possible, mais à peine la réponse à la question.
Torsten Bronger

@bronger: En fait, cela répond à la question, le mieux possible à l'époque. Le PO a demandé de la documentation et a indiqué que l'objectif était de mettre en œuvre la fonctionnalité de correction de l'objectif dans l'OSS. Les informations que j'ai fournies étaient les meilleures informations disponibles il y a QUATRE ANS. Je pense que votre downvote n'est pas justifié et votre commentaire a manqué le point de la question.
jrista

Le point de la documentation est d' éviter la rétro-ingénierie.
Torsten Bronger

4

Au moins les appareils photo Panasonic stockent les informations de correction d'objectif dans les fichiers bruts. Quelques résultats préliminaires de la rétro-ingénierie des champs exif pertinents peuvent être trouvés sur http://syscall.eu/#pana .

Les informations de correction de distorsion sont stockées dans l' 0x119étiquette et se composent de 16 entiers de 16 bits, dont la signification est décodée dans la publication liée. Les informations d'aberration chromatique sont stockées dans l' 0x011bétiquette, qui n'a pas encore été étudiée.


1

Cela pourrait également faire partie de la poignée de main objectif-corps. Je ne sais pas comment le logiciel de bureau connaîtrait les informations. Comment déterminez-vous que le logiciel hors caméra peut effectuer la correction?

Je sais qu'Adobe propose une sorte de correction publique de l'objectif pour Lightroom 3, peut-être auriez-vous plus de chance de procéder à la rétro-ingénierie de cette substance.


dpreview.com/articles/distortion/page2.asp donne quelques détails. Il semble qu'Adobe Camera Raw récupère également ces informations dans les fichiers bruts.
RAOF

1
Notez que les données sont incluses dans les fichiers RAW , pas les JPEG. Je pense que vous n'avez pas de chance si vous regardez des JPEG, car ceux-ci seront déjà corrigés.
Josh Goldshlag

1

Il n'est pas stocké dans l'Exif - la correction est automatiquement appliquée aux images Jpeg.
Le format brut Olympus contient une matrice de paramètres simple (4?) Pour la correction d'objectif pour les objectifs ordinaires - ceci est uniquement pour les modèles haut de gamme et n'est peuplé que par les caméras de la série pro.

Les corrections pour le logiciel Adobe sont générées par les objectifs de test Adobe eux-mêmes - tit n'utilise pas les valeurs des fabricants.

Désolé je ne sais pas pour le micro 4/3.


0

Je suppose que seules les données de l'objectif sont stockées dans EXIF, les montants de correction sont codés en dur pour le micrologiciel de l'appareil photo et le logiciel de post-traitement et non inclus dans EXIF.


Je suppose que c'est possible; cela semble une façon stupide de le faire, cependant. D'autant plus que mon objectif Panasonic obtient des corrections appliquées sur mon corps Olympus E-PL1 (et je crois que l'inverse est vrai - les objectifs Olympus sont corrigés sur les corps Panasonic). Cela nécessiterait à la fois une mise à niveau du logiciel et du micrologiciel chaque fois qu'un nouvel objectif µ4 / 3 serait publié par quelqu'un.
RAOF

@RAOF: il ne peut pas nécessairement nécessiter une mise à jour du firmware. Un format de spécification d'objectif flexible peut être créé qui permet aux objectifs de définir leurs distorsions, et un seul logiciel peut appliquer le traitement de correction basé sur une telle spécification. C'est essentiellement ce que fait Adobe Lightroom 3 avec ses nouveaux profils d'objectif de caméra. Si chaque objectif contenait ses spécifications, vous n'auriez pas besoin de mettre à jour le firmware pour chaque objectif ... il suffit de fixer un objectif, car cela indiquerait au firmware quels sont ses facteurs de correction.
jrista

À droite - ces facteurs de correction (+ l'algorithme spécifique utilisé) sont ce que je recherche!
RAOF
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.