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 :

appliquer une fermeture morphologique


Sujet :

Images

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut appliquer une fermeture morphologique
    Bonsoir
    SVP comment on peut appliquer sur une image une fermeture morphologique avec un élément structurant de forme linéaire 3 fois où l'élément structurant orientées à 0°, 45° et 90° respectivement
    merci d'avance

  2. #2
    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
    Si tu possèdes l'Image Processing Toolbox, tu peux utiliser les fonctions IMCLOSE et STREL

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    Bonjour, j'ai fait ça mais comment définir l'orientation de l'élément structurant à 0°, 45° et 90° respectivement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    se=strel('disk',5);
    im2=imclose(im1,se);

  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
    Par défaut
    Bonjour,

    Faire tourner un disque de 45 ou 90 présente peu d'intérêt...
    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
    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
    Tu n'utilises pas la bonne syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SE = strel('line', LEN, DEG)
    Lis bien la documentation

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    Merciiiii voila j'ai essayé de faire ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    se1=strel('line',5,0);
    im1=imclose(im,se);
    se2=strel('line',5,45);
    im2=imclose(im,se);
    se3=strel('line',5,90);
    im3=imclose(im,se);
    et pour trouver la réponse maximale entre ces résultats je dois faire ça ??? je doute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    m1=max(im1,im2,im3)

  7. #7
    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
    Qu'entends-tu par "réponse maximale" ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    Voici une formule qui peut expliquer un peux mon but qui est calculer la différence entre l'image originale et la réponse maximale parmi les résultats obtenus des fermetures morphologiques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    image= |im - max{im.F0,im.F45,im.F90}|
    Avec . est la fermeture morphologique

  9. #9
    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
    Par défaut
    Cela ne nous dit toujours pas ce que tu entends par "réponse maximale". Peux-tu décrire un peu plus le contexte : que représentent tes images? im est une image en niveau de gris ou une image binaire? As-tu essayé d'afficher les résultats des fermetures?
    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.

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    Bonjour,
    Pour la réponse maximale j'ai essayé de l'expliquer par la formule précédente, j'espère qu'elle est claire où elle est utilisée pour faire la différence entre l'image originale et la réponse maximale de la fermeture parmi celles obtenues avec différentes orientations (0°, 45° et 90°)
    im est la composante rouge de l'image couleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    img=imread('image9.jpg');
    im = img(:,:,1);
     
    se=strel('line',11,0);
    im1=imclose(im,se);
    imshow(im1);
    se=strel('line',11,45);
    im2=imclose(im,se);
    imshow(im2);
    se=strel('line',11,90);
    im3=imclose(im,se);
    imshow(im3);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    ??? Error using ==> axes
    Too many input arguments.
     
    Error in ==> figparams at 24
    hax  = axes('Parent', hfig, 'Units', 'pixels', ...
     
    Error in ==> initSize at 58
      p = figparams;
     
    Error in ==> imshow at 262
          initSize(hh,initial_mag/100,is_border_tight)
     
    Error in ==> extract at 6
    imshow(im1);

  11. #11
    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
    Par défaut
    Citation Envoyé par Paolo. Voir le message
    Pour la réponse maximale j'ai essayé de l'expliquer par la formule précédente, j'espère qu'elle est claire où elle est utilisée pour faire la différence entre l'image originale et la réponse maximale de la fermeture parmi celles obtenues avec différentes orientations (0°, 45° et 90°)
    im est la composante rouge de l'image couleur
    bah non, pour moi c'est pas clair : la formule n'explique rien, elle montre comment on utilises cette "réponse maximale", ma question était : comment définis-tu la réponse maximale? Cette définition dépend sûrement du contexte dans lequel tu l'appliques, donc encore une fois, en nous disant ce que contiennent les images, ce que tu cherches réellement à faire, on pourrait t'aider un peu plus.

    Concernant ton erreur, si tu tapes :
    dans le command window de matlab, quel est le résultat renvoyé?
    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.

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    Bonsoir,
    Le but est de localiser les poils foncés par rapport à la peau. Je dois donc appliquer une opération de fermeture morphologique en niveaux de gris sur les 3 composantes R V B séparément. La fermeture morphologique lisse les intensités faibles. Il faut utiliser donc 3 éléments de structure à différentes directions, 0°(horizontal), 45° (diagonale) et 90°(vertical) pour aplanir tous les poils noirs. La fermeture généralisée en niveaux de gris est obtenue en prenant la réponse maximale des résultats en niveaux de gris à tous les trois directions spécifiées.
    img= |im - max{im.F0,im.F45,im.F90}|
    Enfin, une image binaire (le masque cheveux) M est créée par application d'un seuillage de img. Ce masque capillaire divise les cheveux et les région non cheveux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    M=1 si img>T
    M=0 si non
    merci
    Concernant ton erreur, si tu tapes :
    dans le command window de matlab, quel est le résultat renvoyé?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Users\dell\Documents\codes\axes.m
    built-in (C:\Program Files\MATLAB\R2011a\toolbox\matlab\graphics\axes)  % Shadowed

  13. #13
    Invité
    Invité(e)
    Par défaut
    Comme tu peux le voir, tu as la bonne fonction axes de MATLAB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    built-in (C:\Program Files\MATLAB\R2011a\toolbox\matlab\graphics\axes)
    mais qui est masquée ( % Shadowed comme indiqué) par TA fonction située là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\dell\Documents\codes\axes.m
    À lire

    Pour calculer ton maximum, il suffit d'appliquer la fonction max deux fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    max(im.F0, max(im.F45,im.F90) )

  14. #14
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    merci

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

Discussions similaires

  1. Vider une table a une fermeture subite
    Par mimosa7 dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2005, 17h13
  2. Réponses: 16
    Dernier message: 22/03/2005, 13h33
  3. Réponses: 5
    Dernier message: 18/09/2004, 21h30
  4. [icone]Comment appliquer une icone sur le.exe
    Par JavaLeDirePartout dans le forum JBuilder
    Réponses: 7
    Dernier message: 24/07/2003, 17h28
  5. [xsl java]Appliquer une XSL à un String contenant doc XML
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 03/04/2003, 15h46

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