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 :

Deux petites questions sur les niveaux de gris


Sujet :

Traitement d'images

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 8
    Points
    8
    Par défaut Deux petites questions sur les niveaux de gris
    hello, bon voila j'ai deux petites questions
    je prends une image en niveaux de gris dont les valeurs des pixels sont comprises entre 0 et 181 et je réétale ces valeurs pour qu'elles soient comprises entre 0 et 255 par une simple règle de trois ou je prends chaque valeur entière. Je voulais juste savoir comment s'appelle cette opération?
    En faisant ça j'améliore le contraste, la luminosité ou ça porte un autre nom?

    Sinon ma deuxième question est que pour passer de mon image couleur en niveaux de gris j'utilise la fonction rgb2gray. Dans le code de cette fonction il apparait les coefficients recommandés par la CIE parce que l'oeil ne perçoit pas chaque couleur de la même manière. Mais on m'a dit qu'en faisant ça je faisais une distorsion oculaire puisque l'oeil réadaptait par la suite ce qu'il voyait et que je devais seulement faire la moyenne des trois composantes rouge verte et bleue. Mais alors pourquoi la fonction de matlab prend ces coeff
    Il faut en tenir compte ou faire simplement la moyenne?

    Merci de vos réponses

  2. #2
    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 jujuj Voir le message
    hello, bon voila j'ai deux petites questions
    je prends une image en niveaux de gris dont les valeurs des pixels sont comprises entre 0 et 181 et je réétale ces valeurs pour qu'elles soient comprises entre 0 et 255 par une simple règle de trois ou je prends chaque valeur entière. Je voulais juste savoir comment s'appelle cette opération?
    Un étalement / étirement d'histogramme (histogram stretch)

    En faisant ça j'améliore le contraste, la luminosité ou ça porte un autre nom?
    Ca augmente le contraste : le couleurs sombres deviennent encore plus sombre, et les couleurs clairs deviennent encore plus clair.

    Mais on m'a dit qu'en faisant ça je faisais une distorsion oculaire puisque l'oeil réadaptait par la suite ce qu'il voyait et que je devais seulement faire la moyenne des trois composantes rouge verte et bleue.
    Il y a de toutes façons distorsion car on transforme une "couleur" en "gris"

    Cette opération (rgb->gray) à généralement pour but de représenter la "luminosité" des couleurs. Et le calcul de la luminosité d'une couleur se fait en utilisant les formules recommandées par le CIE.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    un étirement d'histogramme ou étalement d'histogramme s'apelle aussi expansion de la dynamique ou encore linéarisation d'histogramme ou encore stretching linéaire

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Bonjour,

    J’aurai justement besoin d'un exemple d'étirement d'histogramme.
    Pourriez-vous poser celui que vous avez réalisé car j'ai du mal a trouver le bon algorithme.

    Merci d'avance

  5. #5
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Ca augmente le contraste : le couleurs sombres deviennent encore plus sombre, et les couleurs clairs deviennent encore plus clair.
    Vrai sur 1 point (là c'est le mec sympa) mais Faux sur 1 point si je peux me permettre autant de méchanceté (surtout un mercredi le jour des petits n'enfants )

    Vrai : un étalement / étirement augmente le contraste. Et encore que si l'image source n'utilise pas déjà la pleine dynamique de la palette.

    Faux : les couleurs sombres ne deviennent pas plus sombres et les couleurs claires ne deviennent pas plus claires. Tout dépend de l'histogramme de départ.

    Dans l'exemple de jujuj. Le facteur d'étirement est de 255/181 soit 1.40. Donc tous les niveaux de gris verront leur valeur multipliée par 1.40. Donc les nouvelles valeurs réelles seront toutes supérieures aux valeurs originales dont elles sont issues. Après discrétisation (remise à plat sur 8 bits) elles seront égales voire supérieures aux valeurs originales dont elles sont issues. Par exemple, le niveau 1 reste à 1 et le niveau 10 passe à 14. Donc pas d'assombrissement mais seulement un éclaircissement.

    A l'inverse si l'histogramme originale à une plage unique non vide de 181 à 255, le facteur d'étirement est de 255/74 soit 3.44 à appliquer aux niveaux de gris auxquels on a soustrait 181 auparavant. Donc pas d'éclaircissement mais seulement un assombrissement.

    Flo.

  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 roulian46 Voir le message
    Bonjour,

    J’aurai justement besoin d'un exemple d'étirement d'histogramme.
    Pourriez-vous poser celui que vous avez réalisé car j'ai du mal a trouver le bon algorithme.

    Merci d'avance
    C'est une simple règle de 3.

    newvalue = 255 * (oldvalue-min) / (max-min)


    avec min,max les valeurs minimale et maximale dans l'image d'origine.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Merci pseudo je viens enfin de la trouver

  8. #8
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Concernant le passage RGB vers gris. Quelques petites choses.

    Le truc le plus simple est de faire (R+G+B)/3. Et on obtient bien du gris.

    En fait, dans la vraie vie de tous les jours, y compris les mercredis (le jour des petits n'enfants), la façon de passer de RGB en gris va dépendre de pas mal de choses.

    Si c'est pour faire du code rapide (en XMMX par exemple) on se casse pas la tête (surtout si c'est pour faire des opérations triviales derrière), on fait du 1/3, 1/3 et 1/3. Et on limite le nombre d'opérations.

    Après si tu veux rester dans le cadre d'un espace colorimétrique donné avec sa logique attenante (HLS, Lab, etc), tu respectes la formule qu'on te donne. Le respect de cette formule te permet notamment de revenir en RGB (c'est comme ça qu'on augmente la luminosité d'une image sans toucher aux couleurs : RGB->HLS puis traitement de la luminosité puis HLS->RGB).

    Le coup de faire des trucs comme ça :

    Gris = 0.299 Rouge + 0.587 Vert + 0.114 Bleu

    C'est pour respecter le fait que l'œil humain est plus sensible aux longueurs d'ondes du vert puis du rouge puis du bleu.

    Pour la petite histoire, il paraîtrait que l'évolution ai privilégiée les êtres qui distinguaient plus facilement les teintes dans le vert. Effectivement, aux temps des premiers hommes, ceux qui distinguaient plus facilement les teintes dans le vert, risquaient moins de se mélanger les pédales en distinguant plus facilement 2 végétaux verts l'un comestible l'autre pas (je rappelle au geek qu'on dit les "plantes vertes" parce qu'elles le sont bien ! si si passez la tête par la fenêtre ... si vous en avez une bien sur ) . Pour le rouge, c'est la même chose avec la viande, celle qu'était comestible et celle qui était pourrie. Quant à être sensible par rapport au bleu, à part quelques rares fruits et le ciel (qu'on bouffe pas si vous avez bien suivi), ça n'a visiblement pas du influencer l'évolution.

    A noter qu'on retrouve aussi l'influence majeure du vert dans les capteurs ( caméras, appareils photo et autres) dans la composition des filtres bayer où on a 2 pixels verts pour un pixel bleu et un pixel rouge. Et les photos s'en portent pas plus mal il faut le reconnaître.

    Ceci étant dit, trouve la composition du gris qui te va bien pour faire ce que tu as à faire. Le reste n'a pas d'importance. Tu peux même prendre directement qu'une composante, voire 2 seulement pour faire ton mix. Tu peux prendre le L du HLS ou du Lab (y sont peut-être les mêmes d'ailleurs je ne sais plus). Le truc c'est de trouver la formule qui te permets d'extraire l'information de la meilleure manière.

    Flo.

  9. #9
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Un algorithme pour déterminer les niveaux de gris ( à partir principalement de la composante rouge) est évoqué par Maupassant :
    Saoulomètre, subst. masc., fam., hapax (de l'adj. saoul/soûl). Écoutez bien et cramponnez-vous, il a inventé le saoulomètre. L'instrument n'existe pas, mais les observations de Mathieu sont aussi précises que celles d'un mathématicien (Maupass., Contes et nouv., t. 1, Norm., 1882, p.70).
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

  10. #10
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Rémi Gaillard donne aussi sa version :

    C'est en faisant n'importe quoi qu'on devient n'importe qui

Discussions similaires

  1. [XL-2007] Petite question sur les boucles et deux series de checkbox dans deux colonnes
    Par scoubi77 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/09/2014, 23h48
  2. Réponses: 2
    Dernier message: 28/07/2007, 01h21
  3. [ATL] Petite question sur les progress bar
    Par MrMaze dans le forum MFC
    Réponses: 1
    Dernier message: 06/05/2005, 09h40
  4. Réponses: 3
    Dernier message: 08/12/2004, 13h58
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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