# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  Luminosit, l'intensit lumineuse d'un pixel.

## themoye

Bonjour,

Pour un projet de galerie photo web (JavaScript + canvas), j'ai besoin d'effectuer quelques traitements d'image.
Pour pouvoir contrler ces traitements durant le dveloppement, j'ai trouv intressant de pouvoir retourner les histogrammes des images (charges, puis aprs traitement(s)).

Aucun problme avec les 4 canaux (RGBA), qui sont sensiblement les mmes que ceux que me retourne un logiciel de retouche d'image (Gimp).
Mais voila, dans Gimp, il existe un 5eme histogramme appel "Valeur", primant sur tous les autres histogrammes.

Un petit tour dans la documentation me dit ceci :




> *Valeur*
> 
>     C'est tout simplement la luminosit, l'intensit lumineuse d'une couleur. On peut dire aussi que c'est la quantit de lumire mise par une couleur. Elle rend compte de l'clat d'une couleur. Vous notez cette variation de luminosit quand une couleur passe de l'ombre au soleil ou quand vous augmentez la luminosit de votre moniteur. Elle varie de 0  100. Les valeurs des pixels dans les trois canaux sont aussi des intensits lumineuses: dans GIMP, la Valeur est la plus forte de ces trois valeurs.


Comment calculer cette fameuse "luminosit" du pixel?

J'ai d'abord pens btement  une moyenne des 3 canaux de couleurs : rsultat diffrent de ce que me retourne Gimp.

Puis j'ai pens que c'tait la plus forte des valeurs des trois canaux de couleurs suite  cette phrase : "dans GIMP, la Valeur est la plus forte de ces trois valeurs.", et encore une fois le rsultat est diffrent.

J'ai tent un histogramme de la luminance via la formule suivante : Y = 0,299 R + 0,587 G + 0,114 B, et la aussi rsultat diffrent.


Une ide?  ::): 

Merci.

PS : ci dessous, un screen des diffrents histogrammes d'une image.

----------


## b_reda31

Bonjour,

Peut-tre l'intensit que vous recherchez correspond  la composante V (intensit) du modle HSV. Il s'agirait donc de la composante (RGB) maximale.
Cependant la composante V est sous forme de pourcentage :

max(RGB) ---> V
0  --->0%
255 --->100%

Je ne sais pas si la fonction de correspondance est linaire. si c'est le cas il suffit d'appliquer une simple rgle de trois.

----------


## themoye

Bonjour b_reda31, merci pour ta rponse.

J'ai dj tent de retourner l'histogramme obtenu par la valeur maximale des composantes RGB.
Vu que la reprsentation graphique de cet histogramme a des valeurs d'ordonnes allant de 0  255, si la fonction de correspondance est linaire, il n'est pas ncessaire d'obtenir le pourcentage de la valeur maximale non?

Donc si j'ai bien compris, en superposant les 3 histogrammes des canaux de couleurs, on devrait avoir l'histogramme dont tu parles.

Voici ce que l'on obtient : 



C'est encore diffrent de nous retourne l'histogramme valeur de Gimp.  ::(:

----------


## pseudocode

Bonjour,

La doc de Gimp donne cette information: 




> Pour les images RVB, il est pratique de dfinir une Valeur  pseudocanal . Ce n'est pas un vrai canal : il ne reflte aucune information de l'image. La Valeur d'un pixel est donne par la formule *V = max(R,V,B)*. En gros, la Valeur est celle que vous donneriez  ce pixel si l'image tait convertie en niveaux de gris.

----------


## themoye

Salut pseudocode,

Dois je en conclure que mon image gardera le mme histogramme "Valeur", qu'elle soit en RGB ou en niveau de gris?

Je viens de vrifier sous Gimp, les histogrammes ne correspondent pas.

Que je la convertisse via l'outil d-saturer ou par la commande "Transformer en niveaux de gris", les histogrammes ne sont pas les mmes.

----------


## pseudocode

> Dois je en conclure que mon image gardera le mme histogramme "Valeur", qu'elle soit en RGB ou en niveau de gris?


Non. La doc dit simplement que l'histogramme "Valeur" reprsente la variable max(R,V,B).

----------


## themoye

Youpla, c'est encore moi!

Et je viens de voir l'norme boulette de comprhension que je nous ai fait ;(

En effet, j'ai btement calculer la valeur maximale de mes trois histogrammes RGB, pour chacune des 256 valeurs.
Alors qu'il convenait de calculer la valeur maximale des valeurs RGB pour chaque pixel.

Mon histogramme est maintenant correcte, merci pour votre aide !

----------

