Fév
18
2010
-v : affichage des messages complets
-e : extrait la vignette du fichier RAW (pas de dématriçage, attention)
-i : identification des fichiers
-P fichier_des_pixels_morts : réparation des pixels morts. La procédure peut sembler rébarbative, mais la fonction est intéressante.
-K fichier_noir.pgm : soustrait un noir du fichier RAW. Pour obtenir ce fichier, il faut prendre une photo dans le noir, et exécuter la commande dcraw -D -4
-k valeur_noir : augmente le niveau de noir de cette valeur.
-n valeur_bruit : utilise la technique des ondelettes pour supprimer le bruit. A priori, l'optimum se situe entre 100 et 1000
-C niv_rouge niv_bleu : correction des aberrations chromatiques (valeurs à prendre entre 0.999 et 1.001
-H valeur_H : traitement des zones claires
DCRaw, le dématriceur en lignes de commandes
Le format RAW, ou "négatif numérique", est de plus en plus utilisé. Vu comme contraignant et compliqué au début, il est aujourd'hui communément pratiqué grâce à une offre logicielle fournie, performante et facile d'utilisation.
Il subsiste cependant un OVNI sur le terrain du dématriçage : DCRaw, un programme écrit en langage C. Prévu à la base pour Linux, il a été étendu à toutes les plate-formes actuelles : Linux, Windows et Mac. La liste des logiciels qui utilisent ou ont utilisé tout ou partie du code de DCRaw est vertigineuse : RawTherapee, Ufraw, Easyhdr, Picasa, IrfanView, mais aussi ACDSee, Camera Raw, Lightroom ou encore Lightzone (liste non exhaustive !). C'est dire que beaucoup de photographes utilisent DCRaw sans même le savoir...
Dave Coffin, l'auteur du code, met régulièrement à jour son programme (sous licence GPL). Sa dernière mouture en date du 25 décembre dernier était ainsi déjà compatible avec les Alpha 500 et 550, alors que plusieurs logiciels ne le sont toujours pas à ce jour. Vous trouverez beaucoup d'informations sur le site officiel de l'auteur.
En hommage au remarquable travail de ce développeur aussi réactif que discret, nous vous proposons une petite plongée dans le rugueux langage de commande car DCRaw peut toujours être utilisé "à l'ancienne", sans interface graphique, sans bouton à cliquer ni curseur à tirer.
La compilation du code sous Linux est aisée car le compilateur gcc est intégré aux distributions. Si vous n'êtes pas un programmeur dans l'âme, vous pouvez télécharger les versions compilées à l'adresse suivante : http://www.insflug.org/raw/
Une fois compilé, DCRaw s'utilise comme les bons vieux programmes sous cp/m ou DOS : en ligne de commande. L'avantage est de pouvoir compiler le code sous n'importe quelle plate-forme, le désavantage étant de ne pouvoir prévisualiser le résultat final car Dave a conçu son dématriceur sans se soucier de son enrobage graphique.
DCRaw : mode d'emploi
Tout commence par l'ouverture d'une fenêtre : sous Linux une "console" et sous Windows via le menu démarrer "Accessoires > Invite de commandes". Il faut ensuite se positionner dans le répertoire où se trouve DCRaw (avec la fonction cd, sous DOS ou linux), puis taper la commande :
dcraw [options] image
Pour des raisons pratiques, il est intéressant d'avoir l'exécutable DCRaw ainsi que le fichier raw dans le même répertoire car si, sous linux, on peut facilement jongler avec la console, sous DOS il faut taper entièrement le nom du répertoire. Or, à peine arrivé à "Documents ans settings", on sature déjà...
Si on tape :
dcraw dsc0001.ARW
on obtient un fichier dsc0001.ppm. Il s'agit des réglages par défaut de DCRaw qui crée un fichier image 8 bits au format ppm.
Il est possible, voire nécessaire, d'ajouter des options. Par exemple, "-v" affiche les messages complets de dcraw (mode verbeux).
Lançons la commande suivante :
dcraw -v dsc0001.ARW
On peut alors lire les messages suivants :
Loading SONY DSLR-A700 image from dsc0001.ARW
scalling with darkness 254, saturation 8190, and
miltipliers 2.503832 1.000000 1.281681 1.000000
AHD interpolation...
Converting to sRGB colorpace...
Writing data to dsc0001.ppm ...
Les options sont cumulables. Par exemple "-i" identifie le fichier. Si le résultat est 0, le fichier peut être décodé, sinon, le résultat est 1.
Si l'on combine les 2 options "-i" et "-v" :
dcraw -i -v dsc0001.ARW
on demande à DCRaw d'afficher tous les messages d'identification du fichier. On récupère alors les informations suivantes :
dcraw [options] image
Pour des raisons pratiques, il est intéressant d'avoir l'exécutable DCRaw ainsi que le fichier raw dans le même répertoire car si, sous linux, on peut facilement jongler avec la console, sous DOS il faut taper entièrement le nom du répertoire. Or, à peine arrivé à "Documents ans settings", on sature déjà...
Si on tape :
dcraw dsc0001.ARW
on obtient un fichier dsc0001.ppm. Il s'agit des réglages par défaut de DCRaw qui crée un fichier image 8 bits au format ppm.
Il est possible, voire nécessaire, d'ajouter des options. Par exemple, "-v" affiche les messages complets de dcraw (mode verbeux).
Lançons la commande suivante :
dcraw -v dsc0001.ARW
On peut alors lire les messages suivants :
Loading SONY DSLR-A700 image from dsc0001.ARW
scalling with darkness 254, saturation 8190, and
miltipliers 2.503832 1.000000 1.281681 1.000000
AHD interpolation...
Converting to sRGB colorpace...
Writing data to dsc0001.ppm ...
Les options sont cumulables. Par exemple "-i" identifie le fichier. Si le résultat est 0, le fichier peut être décodé, sinon, le résultat est 1.
Si l'on combine les 2 options "-i" et "-v" :
dcraw -i -v dsc0001.ARW
on demande à DCRaw d'afficher tous les messages d'identification du fichier. On récupère alors les informations suivantes :
• Date
• Appareil photo
• Réglage ISO
• Vitesse
• Ouverture
• Focale
• Profil icc
• Nombre de raw (sur certains appareil, il peut y avoir plusieurs images imbriquées)
• Taille de l'imagette incluse dans le raw
• Taille de l'image
• Nombre de couleurs (en général 3)
• Disposition de la matrice
• Réglage colorimétrique
Si on lance la commande dcraw seule, on obtient la liste complète des options. Soyez attentifs aux majuscules et aux minuscules dans les options.
• Appareil photo
• Réglage ISO
• Vitesse
• Ouverture
• Focale
• Profil icc
• Nombre de raw (sur certains appareil, il peut y avoir plusieurs images imbriquées)
• Taille de l'imagette incluse dans le raw
• Taille de l'image
• Nombre de couleurs (en général 3)
• Disposition de la matrice
• Réglage colorimétrique
Si on lance la commande dcraw seule, on obtient la liste complète des options. Soyez attentifs aux majuscules et aux minuscules dans les options.
Les principales options de DCRaw
-v : affichage des messages complets
-e : extrait la vignette du fichier RAW (pas de dématriçage, attention)
-i : identification des fichiers
-P fichier_des_pixels_morts : réparation des pixels morts. La procédure peut sembler rébarbative, mais la fonction est intéressante.
-K fichier_noir.pgm : soustrait un noir du fichier RAW. Pour obtenir ce fichier, il faut prendre une photo dans le noir, et exécuter la commande dcraw -D -4
-k valeur_noir : augmente le niveau de noir de cette valeur.
-n valeur_bruit : utilise la technique des ondelettes pour supprimer le bruit. A priori, l'optimum se situe entre 100 et 1000
-C niv_rouge niv_bleu : correction des aberrations chromatiques (valeurs à prendre entre 0.999 et 1.001
-H valeur_H : traitement des zones claires
0 : zones claires limitées à du blanc pur (par défaut)
1 : zones claires sans limite (une teinte peut apparaître)
2 : combination graduelle entre 0 et 1
3 et + : reconstruit les zones claires. Les valeurs proches de 3 favorisent les blancs, les valeurs proches de 9 favorisent les couleurs. -H 5 serait un compromis entre les 2
1 : zones claires sans limite (une teinte peut apparaître)
2 : combination graduelle entre 0 et 1
3 et + : reconstruit les zones claires. Les valeurs proches de 3 favorisent les blancs, les valeurs proches de 9 favorisent les couleurs. -H 5 serait un compromis entre les 2
-w : utilise la balance des blancs de l'appareil enregistrée dans le raw.
-a : calcule une balance des blancs en moyennant l'image complète.
-A o_gauche o_haut largeur hauteur : exprimé en pixels, la balance des blancs se fait sur le rectangle défini. Il faut bien entendu choisir une zone gris neutre.
-r bdb0 bdb1 bdb2 bdb 3 : réglage manuel de la balance des blancs. Il est préférable de faire une balance des blancs sur boitier et utiliser -w.
-o valeur_o : sélection de l'espace de couleur :
0 : raw
1 : sRGB
1 : sRGB
2 : Adobe RGB
3 : Wide Gamut RGB
4 : Kodak ProPhoto RGB
5 : XYZ
-p valeur_p : traitement des zones claires 0 : zones claires limitées à du blanc pur (par défaut)
apareil_photo.icm : utilise le profil ICC
embed : utilise le profil ICC contenu dans le raw
embed : utilise le profil ICC contenu dans le raw
-d : créé une image brute, sans dématriçage, en noir et blanc (ce que voit le capteur)
-D : idem que -d, mais sans mise à l'échelle des valeurs. L'image brute par excellence (attention, image très sombre)
-h : créé une image réduite de moitié
-q valeur_q : réglage de la qualité du dématriçage :
0 : interpolation bilinéaire, rapide mais de qualité médiocre
1 : interpolation Nombre Variable de Gradient (VNG)
1 : interpolation Nombre Variable de Gradient (VNG)
2 : interpolation Regroupement par Motif de Pixels (PPG)
3 : interpolation Homogénéité Dirigée et Adaptative (AHD)
-f : interpole les 3 couleurs RVB comme couleurs distinctes. A utiliser quand on trouve des labyrinthes ou motifs avec AHD et VNG qui optimisent le piqué.
-m nb_passes : corrige les artefacts par le nombre de passes de correction indiqué.
-W : utilise un niveau de blanc fixé (par défaut, dcraw se base sur l'histogramme)
-b luminosité : divise le niveau de blanc par la valeur indiquée
-g puissance pente_origine : fixe la courbe gamma. Par défaut, on a -g 2.222 4.5. Pour le sRGB, utiliser -g 2.4 12.92
-6 : créé des images sur 16 bits
-4 : créé des images sur 16 bits linéaires. Equivalent à indiquer -6 -W -g 1 1
-T : créé des fichiers TIFF (ppm par défaut)
-t orientation : modifie l'orientation du fichier de sortie. Par défaut, DCRaw utilise la donnée du fichier raw. Valeurs acceptées de 0 à 7
0 : pas de rotation
3 : rotation de 180°
3 : rotation de 180°
5 : rotation de 90° dans le sens contraire des aiguilles d'une montre
6 : rotation de 90° dans le sens des aiguilles d'une montre
Démonstration par l'exemple
Mon Alpha 700 était réglé à la prise de vue en mode 16:9 (NDLR : mdr !). J'ai développé le RAW avec la commande suivante :
dcraw -e dsc09831.arw
J'ai récupéré une image au format full hd (1920*1080) avec les réglages de l'appareil (redressée en vertical dans mon cas; il n'y a pas de notion d'orientation avec les imagettes des RAW) :
Avec l'instruction suivante :
dcraw -w -T -6 q 3 dsc09831.arw
j'ai obtenu un fichier TIFF 16 bits, interpolé en AHD :
On remarque tout de suite que les couleurs sont moins saturées, et selon ce qu'on veut faire de l'image, il faudra la retoucher (si votre éditeur d'image est GIMP, notez que vous pourrez ultiliser le plugin UFRaw basé sur DCRaw et qui, lui, permet une prévisualisation)
Voici enfin idée du rendu des détails sans aucune accentuation, aucune correction, avec la fameuse vue 100% :
Conclusion
Si vous lisez ces lignes, c'est que vous n'avez pas abandonné la lecture de cet article aussi rugueux que le langage de commandes. Vous êtes donc mûr pour tenter votre chance !
Merci à Dave Coffin pour son apport décisif à la problématique du développement des fichiers RAW.
Commentaires
Je ne sais pas si vous êtes déjà allé regarder le code de dcraw mais c'est franchement illisible et j'espère que Dave Coffin n'est pas seul pour maintenir ce truc...
Il n'empêche que ce fut un des premiers, peut-être même le premier, à être compatible avec les a850/a500/a550/...
Et on pourrait le faire tourner sur un smartphone....
Il fait l'essentiel et donc ne fait pas : l'interface utilisateur, la classement des photos, la conversion de format, le cropping, etc.
Si les algorithmes de Dave étaient si triviaux, toutes ces grandes sociétés "spécialisées" auraient utilisé leur savoit-faire pour le faire avant et surtout le faire mieux.
C'est bien précisé par Omer : conversion dans l'espace de couleur souhaité, application d'une BDB éventuellement récupérée sur le boîtier et algorithmes utilisés par les plus grands...
J'ai du mal à y trouver un soupçon de dédain ce qui me fait peiner à comprendre une telle réaction...
je cherche depuis un certain temps comment dématricer un fichier raw et récupérer les infos exif du fichier raw
dans le jpeg généré
désolé si ce n'est pas le bon endroit pour poster cette question
Merci à toi
S’abonner au flux RSS pour les commentaires de cet article.