Un script Linux pour trier automatiquement les images en bracketing

Dans une entrée précédente du blog (Un script Linux pour générer des images HDR à partir d'images "barcketées") Je fournis un script qui permet de créer facilement des images HDR à partir d'une série de photos prises en fourchette d'exposition (bracketing).

Mais je me suis retrouvé face à un autre problème ... Lors de mes dernières vacances, je suis rentré avec environ 1500 images dans lesquelles, à peu près 300 sont des images en fourchette d'exposition...
Pour utiliser mon script, j'aurais dû manuellement créer une centaine de répertoires et y avoir placé les séries de 3 images qui allaient ensemble...

Au lieu de passer des heures à faire celà, j'ai décidé de passer une heure à écrire un script qui automatiserait cette tâche.

Et le voilà!
Usage: sortBracketed.sh [OPTION] DIR
--quiet -q Quiet
--verbose -v Verbose
--dry-run -d Analyze but don't actually move the files
Le script effectue deux passes. Une pour les fichiers JPG et une pour les fichiers CR2.
Il contrôle les images 3 par 3 pour s'assurer que la progression de la numérotation est correcte, que le mode d'exposition est bien en bracketing et que la progression de la correction d'exposition est cohérente (0 -2 +2, -1 -2 0, etc)
Quand une telle série d'images est identifiée, le script crée un sous-répertoire HDRx (où x est un nomre qui est incrémenté automatiquement) et déplace la série d'images à l'intérieur.

Voici un exemple simple de déroulement:

Analyzing JPG files
Checking if file IMG_0003.JPG is bracketed ... NO
Checking if file IMG_0004.JPG is bracketed ... NO
Checking if file IMG_0005.JPG is bracketed ... NO
Checking if file IMG_0050.JPG is bracketed ... YES
Checking if file IMG_0051.JPG is bracketed ... YES
Checking if file IMG_0052.JPG is bracketed ... YES
Checking if file IMG_0053.JPG is bracketed ... YES
4 bracketed images found
Checking if images 0050 0051 0052 go together ... NO
Checking if images 0051 0052 0053 go together ... YES
IMG_0051.JPG \
IMG_0052.JPG |> HDR1 - Exposures: -1.5 0 1.5
IMG_0053.JPG /
Analyzing CR2 files
0 bracketed images found
Et voilà ! Le script a produit un répertoire HDR1 qui contient 3 images que je peux utiliser pour contruire une image HDR.

Ceci montre la verbosité par défaut du script. Si l'on passe l'option -q en paramètre, le programme sera complètement muet. Si par contre on passe l'option -v, alors il sera encore plus bavard ;-)

Je montre ici un exemple simple d'utilisation mais j'ai utilisé le script sur mes photos de vacances et il a parfaitement sû identifier les photos en fourchette d'exposition et a créé 93 répertoires contenant les séries de 3 images !

Si jamais vous désirez tester le script sans réellement déplacer les images, il suffit de passer l'option -d en paramètre. Le script fera alors simplement l'affichage des opérations sans vraiment créer les répertoires, ni déplacer les images.

Le script peut être téléchargé ici:


sortBracketed.sh

5k


MAJ (29 Sept 2009): mise à jour en V1.1. voir le changelog dans le scipt lui même.
MAJ (19 Mar 2010): mise à jour en V1.2. voir le changelog dans le scipt lui même.
CC-GNU GPL
This software is licensed under the CC-GNU GPL version 2.0 or later.

Un script Linux pour générer des images HDR à partir d'images "barcketées"

Il y a quelques temps de celà, alors que j'explorais le monde des images HDR et le moyen d'en générer sous Linux, je suis tombé sur le photoblog d'Edu Pérez et j'ai trouvé le workflow qu'il utilise pour créer des images HDR sous Linux très intéressant.
Il a même résumé ce workflow dans un script assez pratique.

En me basant sur son travail, j'ai créé mon propre script afin de satisfaire plus précisement mes besoins.
Par exemple, il m'arrive de shooter en JPG et je voulais que le script supporte ce format en plus du RAW.
De plus, j'ai aussi scripté la partie du workflow relative à Gimp de sorte que le script génère au final une image XCF comportant 3 calques.



  • Une image en fusion d'exposition produite par enfuse comme fond.
  • Une image HDR "tone-mappée" avec l'opérateur mantiuk06 dans un calque en mode Soft-Light et une opacité à 50%
  • Une image HDR "tone-mappée" avec l'opérateur fattal02 dans un calque en mode Overlay



On lance le script par la ligne de commande:
Usage: createHDR.sh [OPTION] DIR
-a Align the pictures first
-g{val} gamma option for RAW conversion (--gamma={val} -- DEFAULT=0.45)
-s{val} saturation option for RAW conversion (--saturation={val} -- DEFAULT=1.0)
-e{val} exposure compensation option for RAW conversion (--exposure={val} -- DEFAULT=0.0)
-l{val} linearity option for RAW conversion (--linearity={val} -- DEFAULT=0.10)
-c{path} Configuration file for ufrraw IDFILE.ufraw
-q Quiet
-h This help

Le script s'assurera qu'un seul type de fichier est présent dans le répertoire.

Si l'option -a est passée en paramètre, le script commencera par aligner les images grace à la commande align_image_stack fournie par Hugin.

Voici deux exemples d'images produites par ce script à partir de séries de 3 images "bracketées":


Vous pouvez télécharger le script ici:


createHDR.sh

6k


MAJ (23 Sept 2009): mise à jour en V1.1. voir le changelog dans le scipt lui même.
MAJ (29 Sept 2009): mise à jour en V1.2. voir le changelog dans le scipt lui même.
MAJ (2 Nov 2009): mise à jour en V1.3. voir le changelog dans le scipt lui même.
MAJ (12 Nov 2009): mise à jour en V1.3.1. voir le changelog dans le scipt lui même.

CC-GNU GPL
This software is licensed under the CC-GNU GPL version 2.0 or later.