Courbe de correction gamma

Démarré par lawre51, Juin 25, 2018, 10:38:33

« précédent - suivant »

Verso92

Citation de: remico le Juin 26, 2018, 13:25:50
Je ne connais pas le terme français mais le gamma est caractérisé deux coefficients :  la valeur du gamma (pente de la courbe dans sa partie linéaire) et le toe slope (traduction auto = pente de l'orteil, peut-être aménagement du pied de courbe).

Par exemple citation d'un passage d'un tutoriel dcraw :
http://guillermoluijk.com/tutorial/dcraw/index_en.htm

-g gamma slope
Applies a gamma correction to the output defined by the gamma value and the toe slope of the curve. For a pure gamma curve set slope to 0. Some typical values are:
   -g 1 1 linear 1.0 gamma (default if -4 is used)
   -g 2.2 0 pure 2.2 gamma (Adobe RGB)
   -g 1.8 0 pure 1.8 gamma (ProPhoto RGB)
   -g 2.4 12.9 sRGB gamma
   -g 2.222 4.5 BT.709 specification gamma (default if -4 is not used)

Par défaut dcraw utilise le gamma 2.4 avec seulement 4.5 en deuxième valeur ce qui donne des images faiblement contrastée. C'est mieux et plus naturel avec -g 2.4 12.9, à l'opposé si on veut conserver un maximum de hautes lumières ou d'ombre après -g 1 1 sera mieux.

Gamma 2.4 c'était pour les écrans crt, pour les LCD 2.2 est plus approprié.
L'œil, le capteur et l'écran n'ont pas le même "rendement" dans les ombres :
https://www.cambridgeincolour.com/tutorials/gamma-correction.htm

Question subsidiaire : si on développe en linéaire (avec un gamma de 1, donc, à la louche), on se retrouve avec le gamma de l'écran, soit 2.2, c'est bien ça ?


(donc, avec une image plutôt sombre avec les ombres qui ont du mal à décoller...)

Jean-Claude

excuses le gamma n'est pas une fonction de  transfer particulière.

Le gamma est tout simplement une des caractéristiques de toute fonction de transfer, mathématiquement il s'agit de la dérivée au point médian de la courbe, plus communément la pente.

Après on peut comme évoqué plus haut en argentique définir des gamma de pied de courbe et d'épaule de courbe qui caractérisent le modelé des basses et hautes lumières

balfly

Cette discussion m'a donné l'idée de faire une mesure sur mon écran.
J'ai utilisé la fonction Colorimètre avec ma sonde Spyder3
(remplacée par une sonde X-rite pour mes calibrations mais c'est sans importance).
Pour diverses valeurs de gris (255, 192, 128, 64, 32, 0) sur l'écran
j'ai lu la luminance Y indiquée par la Spyder3 (114, 61, 26, 5.7, 1.65, 0.583).
J'ai normalisé à 1 en divisant la 1ère par 255, notée e
et la 2ème par 114, notée s.
J'ai tracé la courbe s = f(e) en rouge.
J'ai aussi tracé la courbe s = e^2.2 (j'aurais dû lui donner un autre nom, mais c'est le même axe vertical) en bleu.
On voit que les 2 courbes sont très voisines, ce qui confirme que l'écran est réglé suivant cette loi.
C'est juste une confirmation.

J'avoue que cette question du gamma reste, malgré les explications données ici, assez mystérieuse pour moi.
Pourquoi avoir une correction des fichiers qui annule l'effet de la correction d'écran ? Il me semble qu'il serait plus simple de ne pas mettre ces corrections.
(Je pense qu'il y a peut-être une raison historique, les écrans CRT étaient je crois très non linéaires).
L'argument de tenir compte de la non linéarité de l'oeil me semble discutable, comme l'a dit egtegt2, et de toutes façons les 2 corrections (fichier+écran) s'annulent.

Verso92

Citation de: balfly le Juin 26, 2018, 22:18:35
J'avoue que cette question du gamma reste, malgré les explications données ici, assez mystérieuse pour moi.
Pourquoi avoir une correction des fichiers qui annule l'effet de la correction d'écran ? Il me semble qu'il serait plus simple de ne pas mettre ces corrections.

L'écran (CRT ou LCD) ne sait pas rendre les valeurs de façon correcte...

Franciscus Corvinus

Citation de: Jean-Claude le Juin 26, 2018, 22:01:45
excuses le gamma n'est pas une fonction de  transfer particulière.

Le gamma est tout simplement une des caractéristiques de toute fonction de transfer, mathématiquement il s'agit de la dérivée au point médian de la courbe, plus communément la pente.

Source?

Parce que mathématiquement le terme "gamma" vient de l'exposant dans la fonction y=x^ɣ. Elle est calculée pour x variant de 0 a 1 (donc on ramene a 1 le point 2^8 ou 2^12 ou 2^16 suivant la profondeur des canaux). Au médian, la pente est ɣ*2^(1-ɣ), ce qui n'a évidemment rien a voir avec ɣ sauf quand on a une droite (ɣ=1).
https://en.wikipedia.org/wiki/Gamma_correction

Jean-Claude

source ?

bien on apprend cela à l'école en cours de maths, pour moi cela doit bientot faire 50 ans de cela, mis je ne crois pas que cela ai changé entretemps  :)

Juste qu'à l'époque les courbes de transfer ne pouvaient pas être calculées par manque de moyens, sauf par quelques énormes appareils électroniques analogiques qui coutaient le prix d'une maison.

Le gamma en photo est juste un cas particulier de la loi générique, à méditer  :)

egtegt²

Citation de: Jean-Claude le Juin 27, 2018, 06:54:15
source ?

bien on apprend cela à l'école en cours de maths, pour moi cela doit bientot faire 50 ans de cela, mis je ne crois pas que cela ai changé entretemps  :)

Juste qu'à l'époque les courbes de transfer ne pouvaient pas être calculées par manque de moyens, sauf par quelques énormes appareils électroniques analogiques qui coutaient le prix d'une maison.

Le gamma en photo est juste un cas particulier de la loi générique, à méditer  :)
Bizarre, je n'ai aucun souvenir de ça en math. Et puis le terme gamma en tant que tel est un terme générique en mathématique, il n'a pas de signification définie comme par exemple PI.

Pour moi, en photographie, la correction Gamma est celle qui vient de la vidéo https://fr.wikipedia.org/wiki/Correction_gamma

remico

Citation de: Verso92 le Juin 26, 2018, 19:49:22
Question subsidiaire : si on développe en linéaire (avec un gamma de 1, donc, à la louche), on se retrouve avec le gamma de l'écran, soit 2.2, c'est bien ça ?
(donc, avec une image plutôt sombre avec les ombres qui ont du mal à décoller...)

Ce serait comme agir sur une image normale avec l'outil courbe en tirant la courbe vers le bas.
Ce serait plus simple de parler de gamma 2.2 pour un développement raw et de gamma 0,45 ( 1 / 2,2 ) pour l'écran.

Le deuxième paramètre de dcraw c'est une sorte de courbe en S, pour rattraper non plus les défauts d'affichages, mais pour avoir plus de contraste. Cela n'apparaît pas directement ou pas sous la forme d'un coefficient sur d'autres logiciels, mais il y a des réglages qui reviennent au même.

egtegt²

La question de Verso me semble particulièrement intéressante : Quand j'applique un profil linéaire, de quelle courbe de correction parle-t-on ? S'agit-il de la correction écran ou de la correction due au jpeg ?

En fait c'est encore un peu confus pour moi :
Si j'affiche une photo RAW sur mon écran, je pense avoir compris qu'il y avait deux corrections appliquées sur mon image :
- La correction pour s'adapter à la non linéarité de l'écran
- La correction "jpeg" qui fait rentrer les 12 ou 14 bits de ma photo dans les 8 bits de mon écran
J'ai un gros doute sur la seconde pour être honnête.

Et dans ce cadre, qu'est-ce que je fais quand dans mon logiciel de P/T je sélectionne un profil linéaire ?

Franciscus Corvinus

Citation de: Jean-Claude le Juin 27, 2018, 06:54:15
source ?

bien on apprend cela à l'école en cours de maths, pour moi cela doit bientot faire 50 ans de cela, mis je ne crois pas que cela ai changé entretemps  :)

Juste qu'à l'époque les courbes de transfer ne pouvaient pas être calculées par manque de moyens, sauf par quelques énormes appareils électroniques analogiques qui coutaient le prix d'une maison.

Le gamma en photo est juste un cas particulier de la loi générique, à méditer  :)
Il y a des tonnes de cours de maths online. Si les maths sont les memes que dans ta jeunesse tu ne devrais pas avoir de mal a trouver quelque chose qui étaye ta mémoire.

Mais pour le moment mon conseil a quiconque lit ce que tu viens d'écrire est de prétendre n'avoir rien lu.

Franciscus Corvinus

Citation de: remico le Juin 27, 2018, 11:39:30
Ce serait plus simple de parler de gamma 2.2 pour un développement raw et de gamma 0,45 ( 1 / 2,2 ) pour l'écran.
Pourquoi?

Franciscus Corvinus

Citation de: egtegt² le Juin 27, 2018, 12:17:07
La question de Verso me semble particulièrement intéressante : Quand j'applique un profil linéaire, de quelle courbe de correction parle-t-on ? S'agit-il de la correction écran ou de la correction due au jpeg ?

En fait c'est encore un peu confus pour moi :
Si j'affiche une photo RAW sur mon écran, je pense avoir compris qu'il y avait deux corrections appliquées sur mon image :
- La correction pour s'adapter à la non linéarité de l'écran
- La correction "jpeg" qui fait rentrer les 12 ou 14 bits de ma photo dans les 8 bits de mon écran
J'ai un gros doute sur la seconde pour être honnête.

Et dans ce cadre, qu'est-ce que je fais quand dans mon logiciel de P/T je sélectionne un profil linéaire ?
Tu me sembles avoir des idées confuses sur la correction JPG. Cette correction n'est faite qu'au moment de la création d'un fichier JPG si j'ai biein compris les articles initiaux. Or il n'y a pas de fichier JPG entre un RAW et l'écran quand tu affiches une image dérawtisée.

Verso, ca dépend des options de colorimétrie pour l'affichage il me semble? Pour moi la courbe de transfert linéaire dont tu parles s'applique entre le RAW et l'image stockée en mémoire. Il y a une deuxieme conversion entre l'image stockée en mémoire et l'écran qui dépend de tes options colorimétriques et qui s'applique de la meme maniere que tu développes en linéaire ou pas. C'est comme ca que je comprends les choses.

egtegt²

Citation de: Franciscus Corvinus le Juin 27, 2018, 12:56:17
Tu me sembles avoir des idées confuses sur la correction JPG. Cette correction n'est faite qu'au moment de la création d'un fichier JPG si j'ai biein compris les articles initiaux. Or il n'y a pas de fichier JPG entre un RAW et l'écran quand tu affiches une image dérawtisée.

C'est pour ça que j'ai mis "jpeg" entre guillemets pour indiquer que je faisais référence au mécanisme qu'on utilise pour convertir un RAW en JPEG. Ma question était donc de savoir si en plus de la correction due à la non linéarité de l'écran, une courbe de correction gamma s'appliquait également pour convertir les 12 ou 14 bits du RAW en quelque chose d'affichable à l'écran.

remico

Citation de: Franciscus Corvinus le Juin 27, 2018, 12:48:14
Pourquoi?

Pour différencier vu que les deux actions visent à se neutraliser. Utiliser deux paramètres différents pour la même fonction gamma ou bien utiliser le même paramètre mais avec deux noms de fonctions différentes, correction gamma de l'écran et compensation de la correction gamma de l'écran.

frmfrm

Citation de: remico le Juin 27, 2018, 13:52:52
Pour différencier vu que les deux actions visent à se neutraliser. Utiliser deux paramètres différents pour la même fonction gamma ou bien utiliser le même paramètre mais avec deux noms de fonctions différentes, correction gamma de l'écran et compensation de la correction gamma de l'écran.

En vidéo on utilise les termes OETF et EOTF et les 2 ne se neutralisent pas forcement. Il me semble que dans un environnement sombre, on doit rechercher un gamma système proche de 1.2.

Pour plus d'information, il y a le papier suivant ( en anglais ) :

http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP309.pdf


frmfrm

Citation de: egtegt² le Juin 27, 2018, 12:17:07
La question de Verso me semble particulièrement intéressante : Quand j'applique un profil linéaire, de quelle courbe de correction parle-t-on ?

C'est souvent un problème car on parle de linéaire dans de nombreux cas.

Il y a le linéaire du RAW ( les valeurs RGB des RAW sont proportionnelles aux luminances de la scène capturée).

Il y a le linéaire perceptuel et le pratiquement :-) linéaire perceptuel ( le sRGB est proche du perceptuellement lineaire, plus que le gamma 2.2 et encore plus que le 1.8).

Enfin certains parlent de linéaire quand la TRC d'un profil dcp est linéaire.

Certaines opérations effectuées sur les images numériques s'appliquent plus facilement dans certains cas .

Pour une balance des blancs, ou une correction d'expo, il vaut mieux travaille sur les données avec un gamma 1.0. c'est une des premières opérations du pipeline de lightroom.

Mais travailler avec un gamma 1.0 n'est pas pratique et il est plus facile d'utiliser certains outils lorsque les données sont proche du perceptuellement linéaire.

L'outil courbe de correction de tonalité de LR est appliqué après le passage dans le gamma sRGB et après l'application de la courbe de tonalité du profil dcp.

balfly

Citation de: Verso92 le Juin 26, 2018, 22:24:31
L'écran (CRT ou LCD) ne sait pas rendre les valeurs de façon correcte...

Est-ce qu'un écran LCD est aussi non linéaire qu'un CRT ?
Evidemment il n'est pas parfait mais j'ai tendance à croire que la correction qui pourrait le rendre linéaire est beaucoup plus faible que pour un CRT.
D'ailleurs la courbe d'étalonnage que vous avez donnée hier à 8h04 montre qu'il y a égalité entre la courbe idéale et la courbe effective, le but étant non pas d'obtenir la linéarité mais un gamma de 2.2 (2.4 d'après ma mesure sur cette courbe).
Ceci dit je ne serais pas surpris que le comportement d'un écran LCD actuel soit meilleur quand on lui applique un gamma de 2.2 plutôt qu'un gamma de 1.
Mais je pense que c'est un choix de fabrication.
Je pense que le jour où on décidera de ne plus appliquer de correction de 1/gamma aux fichiers issus du Raw (en interne ou en externe de l'appareil photo), les fabricants fourniront sans problème des écrans optimisés pour un comportement linéaire.
Ce jour n'est probablement pas près d'arriver car tous les fichiers passés et actuels ont cette correction.

Verso92

#42
Citation de: balfly le Juin 27, 2018, 22:26:47
Est-ce qu'un écran LCD est aussi non linéaire qu'un CRT ?

Aucune idée...

Citation de: balfly le Juin 27, 2018, 22:26:47
D'ailleurs la courbe d'étalonnage que vous avez donnée hier à 8h04 montre qu'il y a égalité entre la courbe idéale et la courbe effective [...]

Encore heureux : c'est la courbe après étalonnage !

Citation de: balfly le Juin 27, 2018, 22:26:47
Ceci dit je ne serais pas surpris que le comportement d'un écran LCD actuel soit meilleur quand on lui applique un gamma de 2.2 plutôt qu'un gamma de 1.
Mais je pense que c'est un choix de fabrication.

Pas compris... le gamme d'un écran LCD est ~2.2.

C'est un fait.


Si on voulait un gamma ~1, il faudrait une électronique de linéarisation incorporée...

Ce qui rendrait caduques (et inexploitables) les corrections "standards" dont sont affublées les images vidéo.

Verso92

Citation de: balfly le Juin 27, 2018, 22:26:47
Je pense que le jour où on décidera de ne plus appliquer de correction de 1/gamma aux fichiers issus du Raw (en interne ou en externe de l'appareil photo), les fabricants fourniront sans problème des écrans optimisés pour un comportement linéaire.
Ce jour n'est probablement pas près d'arriver car tous les fichiers passés et actuels ont cette correction.

Pas compris (bis).

Lors de l'invention de la télévision, il aurait été facile de doter les récepteurs d'une linéarisation (comme les platines vinyles, cf courbe RIAA, par exemple).

Seulement, cela aurait déporté le coût de l'émetteur aux récepteurs : économiquement pas viable.

Franciscus Corvinus

Citation de: Verso92 le Juin 27, 2018, 22:51:34
Pas compris... le gamme d'un écran LCD est ~2.2.

C'est un fait.
Si on voulait un gamma ~1, il faudrait une électronique de linéarisation incorporée...

Ce qui rendrait caduques (et inexploitables) les corrections "standards" dont sont affublées les images vidéo.
Est-ce que le gamma d'un pixel de LCD est 2.2 (en mettant la tension en abscisse)? Ou est-ce que les fabriquants d'écrans LCD appliquent une courbe de transfert de telle sorte que les écrans donnent l'impression d'avoir une réponse suivant un gamma 2.2?

egtegt²

Citation de: Franciscus Corvinus le Juin 28, 2018, 00:21:38
Est-ce que le gamma d'un pixel de LCD est 2.2 (en mettant la tension en abscisse)? Ou est-ce que les fabriquants d'écrans LCD appliquent une courbe de transfert de telle sorte que les écrans donnent l'impression d'avoir une réponse suivant un gamma 2.2?

Pour autant que j'ai bien compris, la réponse est oui. Ils appliquent un gamma pour ne pas remettre en cause tout ce qui a été fait depuis les écrans CRT. Car autant c'était coûteux à corriger sur les écrans cathodiques, autant ça pourrait se faire sans le moindre surcoût sur les écrans actuels.

Verso92

Bon, effectivement, le gamma 2.2 des LCD est peut-être délibéré (pour rester cohérent avec les flux existants), et pas forcément subit...


Sinon, d'autres avis sur ma question posée un peu plus haut ?

Citation de: Verso92 le Juin 26, 2018, 19:49:22
Question subsidiaire : si on développe en linéaire (avec un gamma de 1, donc, à la louche), on se retrouve avec le gamma de l'écran, soit 2.2, c'est bien ça ?

egtegt²

Citation de: Verso92 le Juin 26, 2018, 19:49:22
Question subsidiaire : si on développe en linéaire (avec un gamma de 1, donc, à la louche), on se retrouve avec le gamma de l'écran, soit 2.2, c'est bien ça ?

(donc, avec une image plutôt sombre avec les ombres qui ont du mal à décoller...)

En tout cas, sur ce point, voici ce que j'ai remarqué avec DXO : Si je sélectionne un profil linéaire, l'image est effectivement sombre et peu saturée. Si je met un gamma de 2,2 sur la luminance, je retrouve une image avec une exposition proche de celle que j'avais en profil "standard".
Par contre, ce qui m'interpelle est le suivant :
Comme mon oeil n'est pas linéaire, si j'enregistre une image en linéaire (ce qui est le cas pour autant que je sache) et que je la restitue en linéaire parfait, pour moi je devrais la voir plus ou moins comme l'original (j'écris plus ou moins parce que si je photographie quelque chose de très lumineux, l'intensité lumineuse à l'écran sera moindre et il est possible que ça fasse une différence si mon oeil ne suit pas une courbe parfaitement logarithmique, ce qui est probable vu qu'il n'y connait rien en math :) )
Donc je dirais que l'image que tu affiche à l'écran doit bien être une image avec le gamma de l'écran, soit 0,45 qu'il faut corriger avec un gamma de 2,2 qui est l'inverse. (en fait, 0,45 et 2,2 sont un peu interchangeable suivant d'où on se place)

Ca semble logique car un RAW n'inclut pas le gamma de 2,2 pour corriger celui de l'écran, contrairement au jpeg.

Je te remercie de ta question, je crois bien qu'elle vient de me faire commencer à comprendre comment ça s'imbrique ;) ... jusqu'à ce qu'on me démontre que je me suis planté sur toute la ligne  ::)

Il me reste à comprendre pourquoi même si j'applique un gamma de 2,2 sur la luminance, l'image reste peu saturée. Faut-il aussi que j'applique ce même gamma sur les canaux couleurs ? Je pensais que ça s'additionnerait avec celui sur la luminance, mais visiblement j'ai encore pensé trop vite sur ce coup :) Mais il va falloir que je regarde les options possibles dans DXO car avoir un Gamma sur la luminance et un Gamma sur les canaux RVB me semble incohérent.

Franciscus Corvinus

#48
Citation de: egtegt² le Juin 28, 2018, 09:12:05
Donc je dirais que l'image que tu affiche à l'écran doit bien être une image avec le gamma de l'écran, soit 0,45 qu'il faut corriger avec un gamma de 2,2 qui est l'inverse. (en fait, 0,45 et 2,2 sont un peu interchangeable suivant d'où on se place)
Ca me semble un peu hasardeux de dire qu'un nombre et son inverse sont interchangeables. Si je te donnes €100, tu preferes me rendre un centieme ou cent fois plus? Moi je sais ce que je préfere! Un gamma > 1 aura un rendu a prédominance sombre. Un gamma < 1 aura un rendu a prédominance claire. Ca n'est pas interchangeable ni facile a confondre.

Citation de: egtegt² le Juin 28, 2018, 09:12:05
Il me reste à comprendre pourquoi même si j'applique un gamma de 2,2 sur la luminance, l'image reste peu saturée. Faut-il aussi que j'applique ce même gamma sur les canaux couleurs ? Je pensais que ça s'additionnerait avec celui sur la luminance, mais visiblement j'ai encore pensé trop vite sur ce coup :) Mais il va falloir que je regarde les options possibles dans DXO car avoir un Gamma sur la luminance et un Gamma sur les canaux RVB me semble incohérent.
En effet. Le gamma s'applique sur chaque canal, qui est un axe dans un modele de couleurs. Un des modeles a les trois axes RGB. Un autre a trois axes HSL (L pour luminance). Etc. Mais meme si ce sont des représentations, l'image que tu représentes reste unique. Donc si tu travalles en HSL et apres en RGB, tu fais deux transformations sur l'image. Il ne faut en faire qu'une. Et comme le gamma de l'écran est de 2.2 sur des pixels RGB, c'est uniquement dans l'espace RGB qu'il faut faire ta correction.

Le probleme est qu'il est difficile, quand on fait les corrections en RGB, de trouver un résultat plaisant facilement. Un autre probleme est que la teinte peut changer. Un des attraits du modele HSL est que pour certaines choses on arrive plus vite a un résultat plus plaisant. Le modele Lab combine un aspect intéressant de HSL (séparation couleurs et luminosité) avec d'autres de RGB et personnellement je le trouve plus pratique pour corriger les dominantes et la saturation. Mais tout cela n'a rien a voir avec le gamma et les courbes de transfert en général.

Verso92

Citation de: Franciscus Corvinus le Juin 28, 2018, 11:27:11
Un gamma > 1 aura un rendu a prédominance sombre. Un gamma < 1 aura un rendu a prédominance claire.

C'est ce qui me semble aussi, bien qu'on lise le contraire dans l'article de Claude Tauleigne (RP N°313, P136).