Niveaux de gris 50% Photoshop

Démarré par Dormeur74, Octobre 05, 2018, 09:51:41

« précédent - suivant »

Dormeur74

Lorsqu'on crée un masque de luminance sous Photoshop, un pixel dont la valeur après conversion en "Niveaux de gris 50%" est supérieure à 128 est déclaré "clair" et "foncé" dans le cas contraire.
Si je prends le vert RVB (20-145-128) et le rose (237-20-160), elles ont le même gris équivalent : 128. Il s'agit donc de couleurs claires.
Est-ce que quelqu'un connaît l'algorithme (ou la pondération entre le rouge, le vert et le bleu) qui permet de dire qu'une couleur quelconque RVB(x1-x2-x3) est claire ou foncée ?
Merci.

ChatOuille

J'ai essayé de connaître cet algorithme sans succès. J'ai demandé à des photographes professionnels mais sans réponse. Je te suggère seulement de vérifier soit dans le canal L de Lab soit le canal B de Brightness. Mais là je constate aussi un décalage entre les deux. C'est probablement dû à la valoration (poids) des cannaux RVB selon le système. Il n'y aurait pas une réponse absolue.

paul.AU

Premièrement les valeurs Rvb dépendent de l'espace d'encodage de l'image (srgb de, Adobe rgb, etc)
Certains espaces de travail sont mieux well behaved que d'autres pour certaines opérations en Rvb.
Deuxiemement il est plus intéressant de se fier au valeurs L*a*b*.
Enfin, les opérations mathématiques de photoshop sont effectuées dans plusieurs espaces /models différents, suivant leur historique d'implémentation, et les besoins/envies des ingés de chaque époque. Ces opérations ne sont pas unifiées ni mises à jour, particulièrement je pense pour des soucis de compatibilité et éviter les changements de comportement pour les usagers.

Dormeur74

Merci à tous les deux pour votre contribution.
#paul.AU
Quand tu écris :
Citationles valeurs Rvb dépendent de l'espace d'encodage de l'image.
. Pour moi c'est la vision que l'on a des couleurs qui varie, pas les valeurs RGB. Un rouge (255-0-0) sera toujours un pixels rouge pur. Mais qui sera "perçu" de façon différente selon les individus et les périphériques. D'où l'existence du mode Lab qui est indépendant de ces considérations.
J'ai lu quelque part sur la toile un programmeur qui avait proposé la solution suivante :
si 0.3 rouge + 0.59 vert + 0.11 bleu > 128 alors pixel = clair, sinon foncé. Bien sûr cette équation du 1er degré est fausse et même très loin du compte. D'où ma question. Il y a forcément un algorithme dans la conversion en niveaux de gris, mais lequel ?

Verso92

Citation de: Dormeur74 le Octobre 06, 2018, 10:02:58
#paul.AU
Quand tu écris : . Pour moi c'est la vision que l'on a des couleurs qui varie, pas les valeurs RGB.

Pour un même patch d'une mire, par exemple, les valeurs RVB changent en fonction de l'espace couleur...

http://www.blog-couleur.com/modale/calculateur-colorchecker.htm?keepThis=true&TB_iframe=true&height=670&width=750

paul.AU

#5
Citation de: Dormeur74 le Octobre 06, 2018, 10:02:58
Merci à tous les deux pour votre contribution.
#paul.AU
Quand tu écris : . Pour moi c'est la vision que l'on a des couleurs qui varie, pas les valeurs RGB. Un rouge (255-0-0) sera toujours un pixels rouge pur. Mais qui sera "perçu" de façon différente selon les individus et les périphériques.
Ou la.
Non.
Une couleur est (dans des conditions spécifiques) mesurable. Elle ne varie pas. Même si nous ne la "voyons" pas exactement tous de la même façon, notamment certaines personnes comme les daltoniens.
Pour faire simple :
Cette "mesure" est ensuite traduisible en données valeurs lab.
Cette valeur lab peut ensuite être traduite en valeurs rgb selon le profil rgb qu'on choisit pour manipuler l'image, car tous les programmes savent afficher plus ou moins bien du rgb, mais pas du lab. (hélas, chaque profil rgb à un pt blanc spécifique, une courbe d'encodage spécifique, des primaires rgb spécifiques, et il faut donc un logiciel correctement color managé pour afficher des couleurs correctes).
Vous pouvez faire le test simple dans photoshop : créez une image srgb, repérez les triplettes Rvb de certaines valeurs. Puis convertissez l'image en Adobe rgb. Votre image n'a pas changé, elle est toujours la même, l' affichage ne varie pas, mais les valeurs rgb ont changé dans ce nouvel espace.
C'est parceque photoshop interprète correctement à la fois les valeurs rgb d'encodage, et les exprime correctement en finction du profil rgb. Photoshop est un excellente logiciel. Il est color managé. (il interragi correctement avec les profils icc, que ce soit celui des images, des écrans, etc).

Encore un truc. Le terme algorithme est un peu surestimé ici, ce ne sont que des opérations simples de traduction dans un espace couleur.

Dormeur74

Passons sur l'algorithmie, j'ai passé des années à l'enseigner lorsque j'étais en activité.
Ce sont précisément ces opérations "simples" qui m'intéressent. Si j'écris dans le Javascript UI de Photoshop une fonction :
function signatureCol(255,0,0) {}
La signature sera bien en rouge pour tous les utilisateurs du script. Je ne voulais pas dire autre chose ; ce qui m'intéresse, ce sont ces opérations de conversion en niveaux de gris que tu penses être simples.

paul.AU

Tu veux une blague ?
0/255/0 en Prophotorgb n'est pas une couleur.

paul.AU

Les couleurs rvb des images jpg encodées dans des espaces type srgb1966 ou Adobergb1998 sont à considérer non pas comme des valeurs rgb d'entrées mais comme des couleurs rgb de sortie, des valeurs d'encodage si c'est plus clair.
Suivant les ces espaces d'encodage, les valeurs rgb n'ont pas la même luminance, ni la même chrominance, etc.
Tu peux toujours recalculer ce que tu cherches pour un espace précis, mais dans ce cas ce ne sera valable que pour celui-ci. De plus il faut ajouter qu'à mon avis, cette fonction "calque mode luminance" dans photoshop est il me semble en gamma1.8, à confirmer, je ne suis pas sur qu'elle dépende elle-même de l'espace de travail. (mais les valeurs rvb en dessous oui...)
Bref, c'est pas simple, car ca dépend de plein de paramètres.
Peut-etre que si tu voulais détailler ce que tu souhaites faire exactement, cela aiderait à trouver une autre méthode.

paul.AU

rvb122 pour un L*75 en Lab.
Clair ou foncé ?

Dormeur74

CitationTu peux toujours recalculer ce que tu cherches pour un espace précis, mais dans ce cas ce ne sera valable que pour celui-ci

Sache qu'il est très facile de mémoriser à son insu les préférences de l'utilisateur pour pouvoir les modifier en fonction du besoin.
Par exemple, pour dimensionner la taille d'une signature en % de la largeur d'une image, on a  impérativement besoin de travailler en points pour ne pas avoir de conversion à faire selon la résolution.
La mémorisation des préférences trouvées s'écrit :
    var regleUnite = app.preferences.rulerUnits;
    var typeUnite = app.preferences.typeUnits;

et pour changer ses préférences (ne pas oublier de les restaurer en fin de process) on écrit :
    app.preferences.rulerUnits = Units.POINTS;
    app.preferences.typeUnits = TypeUnits.POINTS;

Il en est de même pour son espace de travail, ses polices postscript, etc.
Si un utilisateur décide d'utiliser un script Photoshop pour le RVB, il sait par principe ce qu'il fait.

Tes interventions n'en sont pas moins intéressantes, mais tout cela ne m'a pas fait avancer d'un inch.  ;) Passons....

paul.AU

Je vais essayer d'être encore plus clair.
50%gris "TSL" dans photoshop = 128/128/128 rgb, quelque soit l'espace de travail.
Ce gris 50%TSL ne correspond pas à un gris 50Lab.

La réponse à ta question dépend de l'espace de travail (l'espace de l'image travaillée) : srgb1966 ? Adobe1988 ? Prophoto ? Dcip3 ? D65 ? D50? Gamma 1 ?


Nikojorj

Citation de: Dormeur74 le Octobre 06, 2018, 10:02:58
Un rouge (255-0-0) sera toujours un pixels rouge pur.
Ca sera un rouge pur... de la couleur choisie comme primaire pour cet espace : le rouge de ProPhoto est assez différent de celui de sRGB, et pour le vert et le bleu primaires de ProPhoto auquels Paul.AU faisait allusion, je te laisse chercher à quoi ils ressemblent visuellement. ;)

ChatOuille

Citation de: paul.AU le Octobre 06, 2018, 13:26:49
rvb122 pour un L*75 en Lab.
Clair ou foncé ?

Le canal L de Lab va de 0 à 100%. 75 est donc dans la zone claire. En revanche les canaux a et b vont de –128 à +127. Il faut tenir compte que si on passe de RVB à Lab, le poids de chaque canal RVB est différent pour calculer le L. Beaucoup pour le vert, moins pour le rouge et très peu pour le bleu. Les valeurs ont été données plus haut. C'est pour s'adapter à la sensibilité de l'œil humain.

Passons aux choses sérieuses :
Citation de: Verso92 le Octobre 06, 2018, 10:18:36
Pour un même patch d'une mire, par exemple, les valeurs RVB changent en fonction de l'espace couleur...

http://www.blog-couleur.com/modale/calculateur-colorchecker.htm?keepThis=true&TB_iframe=true&height=670&width=750

Il faut distinguer entre les valeurs numériques et le rendu de la couleur. 0,0,255 (8 bits) c'est du pur bleu et cela quel que soit l'espace couleur. Seulement ce bleu sera différemment rendu selon l'espace couleur. Mais ce « bleu » ne sera jamais le bleu auquel nos sommes habitués, comme le ciel ou la mer. Pour obtenir le rendu des couleurs auquel nous sommes habitués il faut composer avec les valeurs numériques et pour cela le lien de Verso est pertinent. Le mode Lab est très large et peut générer des couleurs théoriques qui ne pourront jamais être rendues.

paul.AU

Citation de: ChatOuille le Octobre 06, 2018, 23:07:24
Le canal L de Lab va de 0 à 100%. 75 est donc dans la zone claire. En revanche les canaux a et b vont de –128 à +127. Il faut tenir compte que si on passe de RVB à Lab, le poids de chaque canal RVB est différent pour calculer le L. Beaucoup pour le vert, moins pour le rouge et très peu pour le bleu. Les valeurs ont été données plus haut. C'est pour s'adapter à la sensibilité de l'œil humain.

Charabia.
Citation de: ChatOuillepassons aux choses sérieuses :
Il faut distinguer entre les valeurs numériques et le rendu de la couleur. 0,0,255 (8 bits) c'est du pur bleu et cela quel que soit l'espace couleur.
En prophoto aussi ah oui ? Vous êtes sûr ?

Citation de: ChatOuille
Seulement ce bleu sera différemment rendu selon l'espace couleur.
C'est plus clair dans ce sens : une même couleur s'exprime avec des valeutrs Rvb différentes suivant l'espace rgb auquel celles-ci doivent être associées. (une image doit toujours comporter le profil couleur avec lequel elle a été créée, dans le cas contraire, à moins de deviner, il n'est pas possible de connaître ses vraies couleurs.

Citation de: ChatOuille
Mais ce « bleu » ne sera jamais le bleu auquel nos sommes habitués, comme le ciel ou la mer. Pour obtenir le rendu des couleurs auquel nous sommes habitués il faut composer avec les valeurs numériques et pour cela le lien de Verso est pertinent.
Charabia.

ChatOuille

Citation de: paul.AU le Octobre 07, 2018, 08:23:35
Charabia.
Je ne fais pas du charabia. Je ne fais que du sérieux.

J'ai dit :
Il faut distinguer entre les valeurs numériques et le rendu de la couleur. 0,0,255 (8 bits) c'est du pur bleu et cela quel que soit l'espace couleur. Seulement ce bleu sera différemment rendu selon l'espace couleur. Mais ce « bleu » ne sera jamais le bleu auquel nos sommes habitués, comme le ciel ou la mer. Pour obtenir le rendu des couleurs auquel nous sommes habitués, il faut composer avec les valeurs numériques et pour cela le lien de Verso est pertinent.
Citation de: paul.AU le Octobre 07, 2018, 08:23:35
En prophoto aussi ah oui ? Vous êtes sûr ?
Et oui, j'en suis sûr car on se meut dans un espace numérique de 0-255 par canal RVB (8 bits), indépendamment de l'espace couleur. Le bleu numérique pur (0% de rouge +0% de vert + 100% de bleu) ne rendra jamais la couleur bleue que nous appelons du bleu. Il suffit d'examiner le lien de Verso. La case appelée Bleu contient sur tous les espaces couleur un bon pourcentage de rouge numérique et vert numérique afin de reproduire notre bleu dans l'un ou l'autre espace couleur.

Et pour terminer un petit renseignement uniquement pour ceux qui ont envie d'apprendre au lieu de tout critiquer sans aucune base. J'ai dit qu'en mode Lab, la luminance s'exprime de 0 à 100%, ce qui semble très logique. Mais vous trouverez moins logique que les canaux a et b s'expriment avec des valeurs négatives et positives. Le canal a exprime la balance entre cyan et magenta. Le b entre le bleu et le jaune (attention : ce bleu n'a aucun rapport avec le bleu de RVB). Une valeur négative exprime une couleur froide tandis qu'une positive une couleur chaude. C'est aussi simple que ça.

Nikojorj

Citation de: ChatOuille le Octobre 09, 2018, 02:08:14
Le bleu numérique pur (0% de rouge +0% de vert + 100% de bleu) ne rendra jamais la couleur bleue que nous appelons du bleu.
Ah ça non, pas dans le cas de ProPhoto!  ;) ;)



Voilà ce qui arrive quand on veut modéliser une réalité courbe avec des axes droits.

paul.AU

 [at] chatouille
Vous ne maîtrisez pas grand chose du sujet. Pas la peine de vous embourber dans vos explications pleines de fantasmes.

ChatOuille

Je ne connais pas la théorie comme vous. Je parle seulement des résultats par expérience. Si ce sont des fantasmes...
Le bleu 0,0,255 en ProPhoto donne ça. En tout cas chez moi. Je ne vois en aucun cas le bleu de lamer ni du ciel.

Nikojorj

Citation de: ChatOuille le Octobre 09, 2018, 20:00:48
Le bleu 0,0,255 en ProPhoto donne ça.
Non, et ce n'est pas vraiment une question de théorie...

paul.AU

Citation de: ChatOuille le Octobre 09, 2018, 20:00:48
Je ne connais pas la théorie comme vous. Je parle seulement des résultats par expérience. Si ce sont des fantasmes...
Le bleu 0,0,255 en ProPhoto donne ça. En tout cas chez moi. Je ne vois en aucun cas le bleu de lamer ni du ciel.
Un indice ?
Convertissez votre image bleue 255 prophoto en lab, puis à nouveau en prophoto.
Le soleil le ciel et la mer, tout ca quoi. Moi je vois pas la même couleur en bretagne qu'en Corse déjà... Elle est nettement plus froide.  ;D

Dormeur74

Merci à tous pour ce débat qui m'a été très utile. J'ai trouvé ici un réponse aux questions que je me posais concernant la conversion d'une image RVB en niveaux de gris. En fait si je me la posais, c'est parce que je n'avais pas assez lu sur le sujet et m'en bats la coulpe ; ce sujet constitue la pierre angulaire du traitement des couleurs et il vaut mieux ne pas le découvrir après dix ans de Photoshop. Il faudrait commencer par lire Arnaud Frich.

paul.AU

Citation de: Dormeur74 le Octobre 10, 2018, 05:59:04
Il faudrait commencer par lire Arnaud Frich.
Pas sur non...
Si vous voulez un peu de doc, ça manque de fraîcheur, et ya sûrement pas toutes les réponses à vos questions, mais ya bcp moins d'âneries que chez Arnaud Frich qui en réalité n'y connaît pas grand chose.
http://www.blog-couleur.com
http://www.profil-couleur.com

Dormeur74