Messages : 584
Sujets : 16
Inscription : Nov 2017
Réputation :
28
Système d'exploitation:
Distribution(s) Linux: Linux Mint
L'exposition d'une image n'impacte pas le caractère négatif ou non d'une valeur d'un pixel, mais son amplitude : dans une zone très sous-exposées, les valeurs seront proches de zéro (mais positives !), dans une zone sur-exposée, les valeurs seront bien plus grandes.
L'exposition est une simple amplification du signal : ajouter un IL en post-traitement revient à multiplier par 2 les valeurs de tous les pixels.
Changer le point noir par contre, change la valeur qu'on définit comme étant "zéro" (mathématiquement tu peux le voir comme une addition ou une soustraction, suivant dans quel sens on change le paramètre). Il ne faut pas utiliser ce paramètre pour rendre les ombres plus sombres, car dans ce cas, cela créé des valeurs négatives, que les modules d'après ont du mal à gérer.
Messages : 1,190
Sujets : 47
Inscription : Mar 2016
Réputation :
71
Système d'exploitation:
Distribution(s) Linux: Fedora 29
01-02-20, 18:25
(Modification du message : 01-02-20, 18:26 par aurelienpierre.)
Aurélien explique que ce n'est pas un problème d'avoir des zones SUR-exposées (ce qui, en soi, ne veut rien dire en fait). Mais Aurélien a toujours dit que des valeurs négatives, c'est mal. :-)
Réfléchissons à ce qu'est un pixel…
3 valeurs : rouge, vert, bleu.
Mais 3 valeurs qui représentent quoi ?
Une émission lumineuse !
La lumière est une énergie électromagnétique. Une énergie négative ou nulle n'est pas possible (sauf si tu habites dans un trou noir – y en qui ont essayé, mais ils ont eu des problèmes). Une énergie infinie (mais positive) est possible.
Par convention, on encode les valeurs RGB entre 0 et 1. Le 1 a un sens différent selon le contexte (100% du blanc du médium en sortie du darktable, ou 100% du seuil de saturation du capteur en entrée de darktable), mais dans l'absolu, une fois qu'on a décodé ce 1 selon le contexte, on peut lui donner n'importe quelle valeur. 1 encode une certaine intensité lumineuse, arbitraire. C'est juste une valeur codée.
Le zéro, en revanche, est une valeur « plancher ». Dans le pipeline, on effectue des opérations sensibles comme des logarithmes ou des racines carrées. On ne sait pas calculer le logarithme d'un nombre nul ou négatif, ou la racine d'un nombre négatif (en fait on sait, mais pas dans l'espace des nombres réels).
Donc des pixels négatifs ne font pas de sens à deux niveaux : du point de vue de ce qui est encodé (une énergie), et du point de vue des opérations sur les pixels, qui sont indéfinies pour des valeurs négatives et/ou nulles.