Réaliser des photographies HDR sous Linux

HDR ?

HDR signifie High Dynamic Range. C'est une technique utilisée en photographie et en synthèse 3D qui permet de créer des images "impossibles" à obtenir avec un appareil photo.

 

La problématique est la suivante: certaines scènes avec un fort contraste ne peuvent être rendues correctement avec des capteurs CCD d'appareil photo:

 

 

  • soit l'appareil va calculer l'exposition globale de l'image en se basant sur les zones claires, ainsi les zones sombres vont être largement sous-exposées
  • soit il va calculer l'exposition en se basant sur les zones sombres, et alors les zones claires vont être largement surexposées.

 

La solution est alors de prendre plusieurs photos de la même scène, sous des expositions différentes, puis de les combiner sur ordinateur pour récupérer les zones sombres bien exposées et les zones claires bien exposées. Certains logiciels vont cela automatiquement, et oui, même sous Linux Wink.

 

Voici quelques exemples de photos HDR trouvées sur le net:

 

 

 

 

 


Les bons outils

Photomatix

Le logiciel qui revient le plus souvent est Photomatix, qui est un logiciel propriétaire qui tourne sous Windows. C'est possible de le faire tourner sous Ubuntu avec Wine, il marche plutôt bien sauf qu'il insère des watermarks sur les photos traitées, ce qui le rend inutilisable à moins de s'enregistrer et de demander une license officielle.

 

qtpfsgui

Malgré un nom à coucher dehors, celui-ci est la perle. C'est un logiciel libre pour Linux. On peut le trouver dans les dépôts officiels de Ubuntu. Des tests que j'ai fait, j'ai été vraiment impressionné car il fonctionne extrêmement bien et est très ergonomique. Il permet de générer une image HDR à partir de plusieurs images à différentes expositions et surtout de faire du tone-mapping. Il peut lire les images HDR au format openEXr, .hdr ou TIFF.

 

 

Créer une image HDR en 3 étapes

Ce dont vous avez besoin:

 

  • Appareil photo (supportant le bracketing si possible)
  • Trépied: indispensable pour obtenir un résultat correct
  • qtpfsgui installé
  • Éventuellement une télécommande pour déclencher à distance l'ouverture

Prendre les photos

Trouver un bon sujet: paysage contrasté, objet, ... Une scéne statique donnera probablement de meilleurs résultats. L'idée est de prendre plusieurs photos de la même scène, mais à des expositions différentes. Beaucoup d'appareils photos supportent le bracketing. Cette fonction permet de prendre successivement 3 photos, une à l'exposition normale, une moins exposée (ex: -1EV), une plus exposée (+1EV).

Donc, régler l'appareil (vérifier la balance des blancs, configurer le mode bracketing, positionner sur A - priorité à l'ouverture), fixer le trépied et prendre les photos. Si l'appareil le permet, éventuellement sauvegarder les photos en mode RAW, mais je n'ai pas encore essayé ça.

 

 

                    

 

 

Générer l'image HDR

Ouvrir qtpfsgui et cliquer sur New Hdr. Allez chercher les images à différentes expositions et valider. Plusieurs réglages sont possibles, je n'ai pour l'instant pas tester vraiment, j'ai juste utiliser les paramètres par défaut. Valider va générer une image HDR, qui n'est possible de lire qu'avec des logiciels spécialisés (gimp ne peut pas lire ces images par exemple). 

 

 

 

Tone mapping

Les images HDR ont un dynamic range trop élevé pour être représentées sur des écrans LCD. L'étape de tone-mapping va permettre de réduire ce range pour le rendre lisible et transformer l'image .hdr en .jpg ou .png. qtpfsgui propose plusieurs algorithmes de tone-mapping. Ceux que j'ai trouvé les plus intéressants sont Reinhard '02 et Mantiuk. Le premier génère des images très lisses alors que le deuxième des images avec plus de texture, mais plus de bruit également.