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 :

Conserver uniquement la région contenue dans la plus grande ellipse


Sujet :

Images

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut Conserver uniquement la région contenue dans la plus grande ellipse
    Je débute en matlab, J’ai une image binaire donc laquelle se trouve des régions. J’aimerai conservais uniquement la région contenus dans la plus grande ellipse.
    Donc comment je peut définir l’ellipse de chaque régions afin de conserver la plus grande ?

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,
    Citation Envoyé par slaima15 Voir le message
    Je débute en matlab
    Tu es peut-être débutant mais depuis le temps tu devrais au moins savoir faire une recherche...

    Un indice, voici les mots-clés : matlab ellipse region
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut
    j'ai fait un recherche et j'ai commencé à programmer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    labels=bwlabel(Image);
    struct = regionprops(labels, {'MajorAxisLength','MinorAxisLength'});
    MajorAxisLength = struct.MajorAxisLength
    MinorAxisLength = struct.MinorAxisLength
    mais je n'est pas pu continuer à programmer le reste afin de dessiner l'ellipse de chaque région et conserver uniquement celle ayant la plus grande région?

    j'ai fait un recherche pour draw une ellipse, j'ai touvé cette fonction:drawEllipse mais avec ceci je dois connaitre les cordonnées du centre ainsi que l'orientation que je connais pas.

    pouvez-vous m'aidez à continuez le code que j'ai déja commencé ou bien me proposé une autre solution car je me sens bloqué??

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Avec la même fonction regionprops : Centroid te donne le centre, Orientation l'orientation.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut
    j'utilise ce bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    labels=bwlabel(BW02);
    struct = regionprops(labels, {'MajorAxisLength','MinorAxisLength','Orientation','Centroid'});
    MajorAxisLength = struct.MajorAxisLength
    MinorAxisLength = struct.MinorAxisLength
    Centroid = [struct.Centroid]
    Orientation = struct.Orientation
    X=round(Centroid(1))
    Y=round(Centroid(2))
    figure,imshow(BW02),title('Resultat de detection après amélioration') 
    hold on
    drawEllipse([X  Y MajorAxisLength MinorAxisLength Orientation], 'r');
    mais il m'affiche cet erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ??? Undefined function or method 'drawEllipse' for input arguments of type 'double'.
     
    Error in ==> ProcessusDetection at 144
    drawEllipse([X  Y MajorAxisLength MinorAxisLength Orientation], 'r');

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Ou as-tu trouvé cette fonction drawEllipse? L'as-tu téléchargé et ajouté dans ton répertoire de travail?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut
    Non je n'est rien téléchargé, rien ajouté.
    J'utilise Matlab (7.9.0(R2009b))

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Matlab ne possède pas de fonction nommée drawEllipse.

    Donc ou as-tu trouvé la fonction?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut
    Comme je t'est dis an avant , je n'est rien téléchargé, rien ajouté.

    Si tu as un lien ou téléchargé cette fonction, je serais reconnaissant.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Et donc que signifient ces lignes:
    Citation Envoyé par slaima15 Voir le message
    j'ai fait un recherche pour draw une ellipse, j'ai touvé cette fonction:drawEllipse mais avec ceci je dois connaitre les cordonnées du centre ainsi que l'orientation que je connais pas.
    Tu l'as bien lu quelque part non?
    Si tu en cherches un autre, tu trouveras ton bonheur sur le FEX
    est aussi là pour trouver ce genre de chose.

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/07/2011, 15h40
  2. Détecter la plus grande ellipse
    Par darrajinho dans le forum Traitement d'images
    Réponses: 8
    Dernier message: 14/03/2010, 15h23
  3. reporté une donnée dans un plus grand intervalle
    Par pesspess dans le forum MATLAB
    Réponses: 1
    Dernier message: 12/06/2008, 17h03
  4. Réponses: 2
    Dernier message: 17/03/2007, 23h38
  5. [Numarray]Coller une matrice dans une plus grande.
    Par parp1 dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 27/04/2006, 16h48

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