Bonjour,
je souhaiterai faire roter un ES de type strel
C'est possible via rot90, mais ca limite les angles de rotation.
Je vais le coder, mais peut etre y as t il une facon direct de le faire ...
ImagingAll
Bonjour,
je souhaiterai faire roter un ES de type strel
C'est possible via rot90, mais ca limite les angles de rotation.
Je vais le coder, mais peut etre y as t il une facon direct de le faire ...
ImagingAll
Bonjour,
quel element structurant précisément?
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.
un element type rectangle ...
Pour faire une ouverture par des segments de droite d'épaisseur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part b1 = strel('line',50,2);
ImagingAll
Bonjour;
Tu peux par exemple utiliser imrotate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part >> doc imrotate
Un exemple :
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
16 function se = strel2(len,wid,deg) if nargin==0 len = 12; wid = 4; deg = 45; end nhood = ones(wid,len); nhood = imrotate(nhood,deg); nhood = logical(nhood); se = strel('arbitrary', nhood);
Merci Dut,
Ca donne ca avec une tite fonction, mais c'est un peu lourd en calcul...
Bonne journée,
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
16
17
18
19
20
21
22
23
24 function [IMGout] = RadialOpenrect_SA(IMG,len,wid,step,affichages) % INPUT % [IMGout] = RadialOpenrect_SA(IMG,len,wid,step,affichages) % affichages: show image result if ==1 IMGout=im2uint8(zeros(size(IMG))); for x=0:step:180 deg = x; nhood = ones(wid,len); nhood = imrotate(nhood,deg); nhood = logical(nhood); se = strel('arbitrary', nhood); radialopen=imopen(IMG,se); RadialopeningIMG=max(im2uint8(IMGout),im2uint8(radialopen)); end if (affichages==1) figure, imshow(RadialopeningIMG); else end end
ImagingAll
Partager