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 :

[regionprops] Récupérer les coordonnées du pixel centroid


Sujet :

Images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut [regionprops] Récupérer les coordonnées du pixel centroid
    Salut à tous,
    j'utilise la fonction regionprops pour extraire les centre de gravité des différentes régions de mon image segmentée et je veux bien récupérer les coordonnées de ce pixel mais j'arrive pas parceque avec le bout de code montré ci-dessous, il m'affiche une erreur "trop d'outputs"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    stats = regionprops(L, 'Centroid');
        for nbr=1:length(L(:)) 
            centregrav = [stats(nbr).Centroid];
            [i j] = round(centregrav);
        end
    SVP donnez moi une solution pour pouvoir récupérer les coordonnées de ce pixel critique dans mon application. Merci

  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
    Essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        for nbr=1:length(L(:)) 
            centregrav = [stats(nbr).Centroid];
     
            % [i j] = round(centregrav);  % <<  ici l'erreur : round renvoie 1 output    
     
             IX = round(centregrav) % i = IX(1)  et  j=IX(2)
        end
    a priori cela devrait tourné

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Merci Mr Samurai,
    mais je veux bien vous poser une 2ème question: Après l'exécution e ce code j'ai eu le msg d'erreur suivant:

    Index exceeds matrix dimensions.

    Error in ==> centregrav = [stats(nbr).Centroid];
    Pouvez vous m'indiquer la source du problème sachant que mon code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    stats = regionprops(L, 'Centroid','Image');
    for nbr=1:length(L(:))
      centregrav = [stats(nbr).Centroid];
      regimag = [stats(nbr).Image];
      [ligne,colonne]=size(regimag);
      IX = round(centregrav);
      i = IX(1);
      j = IX(2);
      regimag(i,j) = 0; 
      figure, imshow(regimag), title('region');
    end

  4. #4
    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

  5. #5
    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
    Pi être comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    stats = regionprops(L, 'Centroid','Image');
    for nbr=1:length(stats)
      centregrav = [stats(nbr).Centroid];
      regimag = [stats(nbr).Image];
      [ligne,colonne]=size(regimag);
      IX = round(centregrav);
      i = IX(1);
      j = IX(2);
      regimag(i,j) = 0; 
    end
    figure, imshow(regimag), title('region'); % La Figure après le boucle
    ++

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut Résolu
    Merci infiniment

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/05/2012, 10h13
  2. Réponses: 1
    Dernier message: 15/12/2010, 14h54
  3. Récupérer les coordonnées d'un pixel dans une image
    Par amine52002 dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2008, 14h52
  4. [Débutant] Récupérer les coordonnées d'un ensemble de pixels dans une matrice
    Par reda24 dans le forum Images
    Réponses: 5
    Dernier message: 01/06/2007, 18h06
  5. [GRAPHIQUE] Récupérer les coordonnées d'un point
    Par freud dans le forum Composants VCL
    Réponses: 6
    Dernier message: 29/09/2005, 12h31

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