Script Nautilus pour Enfuse (HDR du pauvre)

16 09 2009

Voici un script Nautilus utilisant Enfuse pour fusionner facilement plusieurs photos avec des expositions/vitesses d’ouverture différentes.

Enfuse permet de fusionner plusieurs photos.  Cela peut être utile dans les cas suivants :

  • quand on est en contre-jour,
  • quand le sujet à photographier présente des zones réfléchissant fortement la lumière (cas d’arêtes de pièces métallique à nu ou peintes),
  • quand on dispose de plusieurs photos identiques mais avec des sources d’éclairages multiples.

Exemple

Pour les plus impatients et pour éviter aux autres d’aller plus loin si ça ne les intéresse pas, je vous propose un exemple de fusion par Enfuse.

Tout d’abord, les 5 poses à fusionner :

Les 5 poses à fusionner

Les 5 poses à fusionner

Notes :

  • on voit clairement sur la première pose qu’on est en contre-jour,
  • le contre-jour est plus ou moins éliminé à partir de la troisième pose mais c’est le premier plan qui est alors trop sombre.

Après fusion, on obtient la photo suivante :

Résultat de la fusion

Résultat de la fusion

Le contre-jour a été éliminé. Pour les plus tatillons, oui, cela génère quelques artefacts sous la forme “d’objets rayonnants” (je n’ai pas le bon terme). Sur cet exemple, cela se voit à la transition de la porte vers l’appareil (milieu-haut de la photo).

Pré-requis

Pour pouvoir utiliser ce script, il faut que vous que les éléments suivants soient installés :

  • Enfuse (sudo apt-get install enfuse),
  • Zenity (devrait déjà être installé),
  • Nautilus (ce script ne fonctionne que sous cet environnement).

Il est impératif d’utiliser un pied lors de la prise des photos, Enfuse ne cherchant pas à positionner les photos les unes par rapport aux autres.

Le script

Voici le code Python du script :

#!/usr/bin/env python
# coding=utf8
from subprocess import Popen,PIPE,call
from os import getenv

images   =getenv("NAUTILUS_SCRIPT_SELECTED_FILE_PATHS","").splitlines()

nomsortie=Popen(["zenity","--file-selection","--title","Fichier destination","--save","--confirm-overwrite"],stdout=PIPE).communicate()[0].strip()

enfuse   =Popen(["enfuse","--HardMask","-o",nomsortie]+images,stdout=PIPE)
progress =Popen(["zenity","--title","Fusion","--text","Fusion en cours…","--progress","--pulsate"],stdin=enfuse.stdout)

progress.communicate()

Il utilise Zenity pour les deux fenêtres composant le peu d’interfance graphique : la première pour la sélection du fichier, la deuxième pour indiquer le travail en cours (suivant votre machine et le nombre de photos à fusionner, ça peut prendre quelques secondes).

Installation

Copier-coller le code ci-dessus dans un fichier appelé “Fusionner les photos” dans le répertoire ~/.gnome2/nautilus-scripts.

Attribuez-lui les droits en exécution.

Voilà, c’est fini !

Utilisation

Pour utiliser ce script, tout d’abord sélectionnez les photos à fusionner dans Nautilus. Faites apparaître le menu contextuel sur l’une des photos sélectionnées (bouton de droite de la souris) et allez dans le menu Scripts → Fusionner les photos.

Sélection des fichiers et lancement de la fusion

Sélection des fichiers et lancement de la fusion

Le script vous demande le nom du fichier à générer. Spécifiez bien l’extension “.tif”, le format dans lequel sera générée la fusion :

Sélectionner du fichier en sortie

Sélectionner le fichier en sortie

Le fichier sélectionné, la fusion débute et prend quelques secondes :

Barre de progression

Barre de progression

Vous pouvez ensuite regarder le fichier généré et le retravailler si besoin.

About these ads

Actions

Information

2 responses

14 11 2009
William

Quel process pour créer un timelapse HDR comme celui-ci ?

14 11 2009
zigazou

Financial Connection a donné son procédé dans les commentaires : “3 photos every ~5secs, each one which a specific exposure value (-2ev, 0ev, +2ev), then merged and put into a movie like any classical timelapse.”

Le plus dur est de disposer d’un appareil photo programmable ou contrôlable qu’on va pouvoir régler sur du bracketing (-2ev, 0ev, +2ev) ou sur des temps de pose différents et ensuite de le faire répéter l’opération toutes les 5 secondes.

Une fois toutes les photos rapatriées, un script génère les versions HDR des photos et ajoute image par image le résultat à un film.

Une piste : http://ultrawide.wordpress.com/2009/01/27/timelapse-photography-on-linux/

Je ne sais pas si j’ai répondu à ta question car tu ne précisais pas si tu voulais connaître le modus operandi ou si tu voulais disposer d’outils pour pouvoir le faire.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s




Suivre

Recevez les nouvelles publications par mail.

%d blogueurs aiment cette page :