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

Images Discussion :

problème niveau de gris


Sujet :

Images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 86
    Par défaut problème niveau de gris
    Salut à tous, j'aimerai tester une segmentation watershed avec mon image et essayer la marche à suivre sous Marker-Controlled Watershed Segmentation.
    Ca ne marche pas bien chez moi, il me semble que c'est à cause de mon image de base. En effet, il s'agit d'une image d'intensité à 16 classes, de 0 à 15... je n'ai donc que 16 niveaux de gris, alors qu'il m'en faudrait 256... qqn connait une méthode de conversion?

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Par défaut
    Salut,

    la fonction IND2GRAY de l'Image Processing Toolbox fait la conversion que tu veux.

    A mon avis ton probléme ne viens pas de ce point la.

    EDIT :

    Sinon, ce sujet traite du Watershed

    ++

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Cela ne répond peut être pas au fond de la question mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x = 0:15
     
    x = 255*x./15

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 86
    Par défaut
    Voilà ce que Pseudocode me dit sur un autre post. Il semblerait donc que ind2gray ne fonctionne pas pour mon cas...
    Citation Envoyé par pseudocode Voir le message
    Bien tenté... mais non. La fonction ind2gray() convertit les couleurs en NdG selon la "luminosité" de la couleur.

    Ce qu'il faut c'est convertir la couleurs en NdG selon la "valeur métier" (des pressions atmosphériques ?). Il faut donc trouver a quoi correspond chaque couleur.

    ------------------------------------

    NB: Il semblerait que l'echelle des couleurs suive le spectre colorimetrique (rouge -->jaune-->vert-->bleu = arc-en-ciel). On pourrait donc utiliser la conversion RGB/HSV pour déduire les "valeurs métiers" mais c'est assez sale comme procédé. Ca donnerait cela:


    original, NdG métier, Watershed(80)
    Sinon merci Dut pour ton aide, je vais voir si ça donne qqch. J'ai bien sûr essayé de multiplier la valeur des pixels de mon image, mais plutôt en multipliant par 16 (16 classes?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    img = xxx.tif;
    I = img.* 16;

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 86
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Je ne sais pas, je ne connais pas Matlab.

    Il faut recupérer, pour chaque pixel, le n° index dans la colormap au lieu du veceteur couleur. Si ca se trouve, c'est directement accessible dans l'image.

    Tu peux demander sur le forum Matlab (dis bonjour à Dut de ma part ).
    Dut, tu as les salutations de Pseudocode!
    Et sinon, pour l'image en NdG ce ne serait pas en multipliant chaque classe par 17?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Img = xxx.gif
    I = Img.*17;
    J'aimerai obtenir qqch comme ça:

    map(0) = 0 0 0
    map(1) = 17 17 17
    map(2) = 34 34 34
    ...
    map(15) = 255 255 255

  6. #6
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Bonjour,

    Pour tout le reste je ne sais pas, mais pour ça :
    map(0) = 0 0 0
    map(1) = 17 17 17
    map(2) = 34 34 34
    ...
    map(15) = 255 255 255
    C'est facile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    map=repmat([0:17:255]',1,3);
    Sauf qu'en MATLAB l'indice commence forcément à 1 et comme il s'agit de lignes les éléments sont accessibles par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    map(1,:)
    %...
    map(16,:)

Discussions similaires

  1. Problème Filtre Sobel (en niveau de gris)
    Par xav89 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 04/04/2010, 23h44
  2. Réponses: 8
    Dernier message: 17/04/2005, 19h58
  3. Image en niveau de gris
    Par SteelBox dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/10/2003, 17h04
  4. conversion bmp en niveau de gris
    Par hholivier dans le forum C++Builder
    Réponses: 6
    Dernier message: 19/06/2003, 13h34
  5. niveau de gris en niveau de couleur
    Par corey_jx dans le forum MFC
    Réponses: 2
    Dernier message: 11/06/2003, 22h36

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