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
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
Si tu possèdes l'Image Processing Toolbox, tu peux utiliser les fonctions IMCLOSE et STREL
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);
Bonjour,
Faire tourner un disque de 45 ou 90 présente peu d'intérêt...
Pour une bonne utilisation des balises codec'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.
Tu n'utilises pas la bonne syntaxe :
Lis bien la documentation
Code : Sélectionner tout - Visualiser dans une fenêtre à part SE = strel('line', LEN, DEG)
Merciiiii voila j'ai essayé de faire ce code
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
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);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 m1=max(im1,im2,im3)
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
Avec . est la fermeture morphologique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 image= |im - max{im.F0,im.F45,im.F90}|
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 codec'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.
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);
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é?
Code : Sélectionner tout - Visualiser dans une fenêtre à part which -all axes
Pour une bonne utilisation des balises codec'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.
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.
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.img= |im - max{im.F0,im.F45,im.F90}|
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 M=1 si img>T M=0 si non
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 which -all axes
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
Comme tu peux le voir, tu as la bonne fonction axes de MATLAB :
mais qui est masquée ( % Shadowed comme indiqué) par TA fonction située là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part built-in (C:\Program Files\MATLAB\R2011a\toolbox\matlab\graphics\axes)
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) )
Partager