12.07.2015 Views

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Algorithmes</strong> <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> <strong>pour</strong> les architectures orientées fluxJaromír BRAMBORnous décrit <strong>la</strong> définition du skeleton algorithmique ngbGAlgoGen <strong>de</strong>stiné <strong>pour</strong> le travail géodésique surle voisinage.Algorithme 5.9 : ngbGAlgoGen Skeleton algorithmique généralisé <strong>de</strong> travail géodésique sur levoisinage1 ngbGAlgoGen :: [Streamize α] → ( [ExtrNgb α], [SampFnc α])→ [NgbGOp α]2 → ( Ar ( I , I ) α, Ar ( I , I ) α) → Ar ( I , I ) α3 ngbGAlgoGen strms (extrs N ,extrs M ) ops (ar , msk) = array4 (bounds ar)5 (compute strms (extrs N ,extrs M ) ops ar msk)6 where7 compute [ ] [ ] [ ] ar msk = [ ]8 compute (s:ss) ( (e N :es N ),(e M ,es M )) (o:os) ar msk =9 ( (zip (s ar))10 $ (map2 o11 ( (map (e N ar ) ) $ (s ar))12 ( (map (e M msk))$ (s msk))13 )14 )15 +(compute ss (es N ,es M ) os ar msk)La fig. 5.13 nous illustre sur le diagramme du flux <strong>la</strong> structure et <strong>la</strong> fonction <strong>de</strong> ce skeleton dans le casspécial où nous ne fractionnons pas l’image aux différentes zones et où nous avons, par conséquent, sonfonctionnement décrit par une seule fonction <strong>de</strong> parcours <strong>de</strong> l’image, une seule fonction d’extraction <strong>de</strong>svoisins et une seule fonction <strong>de</strong> kernel opérant sur le voisinage et sur le masque (strms, extsN, extsP,ops sont les listes contenant un seul élément).ar(Arrayd’entrée)boundsstrm 0 extrN 0Msk(Array<strong>de</strong> masque)computestrm 0extrM 0NgbOp 0zip ++[]Création <strong>de</strong> l’array<strong>de</strong> sortiearrayArray<strong>de</strong> sortieFIG. 5.13 : Fonctionnement du skeleton algorithmique ngbGAlgoGen <strong>de</strong> traitement du voisinage avec lemasque dans le cas spécial où nous ne fractionnons pas l’image aux différentes zones5.3.2 Itérations, fin <strong>de</strong> propagationCe skeleton est élémentaire et il ne décrit qu’une itération <strong>de</strong> <strong>la</strong> propagation géodésique. Pour l’utilisercorrectement, l’élément structurant employé doit obligatoirement être <strong>de</strong> <strong>la</strong> taille unité. La propagationgéodésique elle-même sera obtenue par l’incorporation <strong>de</strong> ce skeleton dans un skeleton ou unalgorithme gérant <strong>la</strong> propagation. Il existe, en effet, <strong>de</strong>ux types <strong>de</strong> fonctions géodésiques :• fonctions géodésiques avec le nombre d’itérations donné,• fonctions géodésiques itérant jusqu’à l’i<strong>de</strong>mpotence.Pour les premières, le nombre d’itérations est connu d’avance est <strong>la</strong> construction <strong>de</strong> l’algorithme peuts’appuyer sur ce fait. Pour les <strong>de</strong>uxièmes, nous <strong>de</strong>vons tester l’arrêt <strong>de</strong> <strong>la</strong> propagation (test d’i<strong>de</strong>mpotence<strong>de</strong> <strong>la</strong> fonction géodésique sur une image donnée). Ce test compare les valeurs <strong>de</strong> l’image d’entrée (avant116

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!