IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Luminosité, l'intensité lumineuse d'un pixel.


Sujet :

Traitement d'images

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 207
    Points : 109
    Points
    109
    Par défaut Luminosité, l'intensité lumineuse d'un pixel.
    Bonjour,

    Pour un projet de galerie photo web (JavaScript + canvas), j'ai besoin d'effectuer quelques traitements d'image.
    Pour pouvoir contrôler ces traitements durant le développement, j'ai trouvé intéressant de pouvoir retourner les histogrammes des images (chargées, puis après traitement(s)).

    Aucun problème avec les 4 canaux (RGBA), qui sont sensiblement les mêmes 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 lumière é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 intensités 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é bêtement à une moyenne des 3 canaux de couleurs : résultat différent 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 résultat est différent.

    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 résultat différent.


    Une idée?

    Merci.

    PS : ci dessous, un screen des différents histogrammes d'une image.


  2. #2
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Bonjour,

    Peut-être l'intensité que vous recherchez correspond à la composante V (intensité) du modèle 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 linéaire. si c'est le cas il suffit d'appliquer une simple règle de trois.
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 207
    Points : 109
    Points
    109
    Par défaut
    Bonjour b_reda31, merci pour ta réponse.

    J'ai déjà tenté de retourner l'histogramme obtenu par la valeur maximale des composantes RGB.
    Vu que la représentation graphique de cet histogramme a des valeurs d'ordonnées allant de 0 à 255, si la fonction de correspondance est linéaire, il n'est pas nécessaire 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 différent de nous retourne l'histogramme valeur de Gimp.

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Bonjour,

    La doc de Gimp donne cette information:

    Pour les images RVB, il est pratique de définir une Valeur « pseudocanal ». Ce n'est pas un vrai canal : il ne reflète aucune information de l'image. La Valeur d'un pixel est donnée 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.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 207
    Points : 109
    Points
    109
    Par défaut
    Salut pseudocode,

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

    Je viens de vérifier 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 mêmes.

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par themoye Voir le message
    Dois je en conclure que mon image gardera le même histogramme "Valeur", qu'elle soit en RGB ou en niveau de gris?
    Non. La doc dit simplement que l'histogramme "Valeur" représente la variable max(R,V,B).
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 207
    Points : 109
    Points
    109
    Par défaut
    Youpla, c'est encore moi!

    Et je viens de voir l'énorme boulette de compréhension que je nous ai fait ;(

    En effet, j'ai bêtement 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 !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intensité lumineuse et flux
    Par code_source dans le forum Images
    Réponses: 1
    Dernier message: 12/01/2011, 08h48
  2. affichage de la luminosité des pixels
    Par afef_master dans le forum Traitement d'images
    Réponses: 10
    Dernier message: 23/11/2009, 14h21
  3. Réponses: 4
    Dernier message: 01/05/2009, 19h49
  4. Obtenir l'intensité d'un pixel
    Par whiteboy dans le forum OpenCV
    Réponses: 6
    Dernier message: 13/08/2008, 11h03
  5. Recuperer l'intensite d'un pixel dans une image
    Par Battosaiii dans le forum Langage
    Réponses: 6
    Dernier message: 03/07/2006, 04h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo