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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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 BRAMBORprévu. Tant que <strong>la</strong> fonction pGenMB a été conçue directement <strong>pour</strong> le travail avec les vecteurs paquetés,<strong>la</strong> fonction d’une phase généralisée phaseHGW est <strong>de</strong>stinée tout d’abord au travail avec les éléments <strong>de</strong>base. C’est en effet cette similitu<strong>de</strong> qui va lier les algorithmes <strong>de</strong> <strong>la</strong> propagation SIMD et les stratégies<strong>de</strong> parallélisation <strong>de</strong> l’algorithme <strong>de</strong> van Herk-Gil-Werman.Pour pouvoir dériver les phases concrètes p 1 et p 2 <strong>de</strong> <strong>la</strong> propagation à partir <strong>de</strong> <strong>la</strong> phase généralisée,nous nous baserons sur le paramètre dir qui exprimera textuellement <strong>la</strong> direction du segment, ”Fst” /”Snd” si l’élément structurant suit <strong>la</strong> direction <strong>de</strong> <strong>la</strong> première / <strong>de</strong>uxième coordonnée, respectivement.La première phase <strong>de</strong> l’algorithme HGW est définie par <strong>la</strong> fonction phase1 :phase1 :: (Ordα) ⇒ [Char] → (α → α → α) → Ar ( I , I ) α → Ar ( I , I ) αphase1 dir f mb = phaseHGW ("FW" +dir) f mbet <strong>la</strong> <strong>de</strong>uxième phase <strong>de</strong> l’algorithme HGW est définie par <strong>la</strong> fonction phase2 :phase2 :: (Ordα) ⇒ [Char] → (α → α → α) → Ar ( I , I ) α → Ar ( I , I ) αphase2 dir f mb = phaseHGW ("BW" +dir) f mbLes <strong>de</strong>ux fonctions utilisent à l’interne <strong>la</strong> fonction généralisée phaseHGW et <strong>la</strong> spécifient <strong>pour</strong> le parcoursen avant (par "FW") dans le cas <strong>de</strong> <strong>la</strong> phase p 1 et <strong>pour</strong> le parcours en arrière (par "BW") dansle cas <strong>de</strong> <strong>la</strong> phase p 2 . Notons que les <strong>de</strong>ux premières phases peuvent être exécutées en même temps enexploitant ainsi le parallélisme <strong>de</strong>s tâches.La troisième phase utilise les résultats intermédiaires obtenus par l’application <strong>de</strong> <strong>la</strong> phase p 1 et p 2et les combine dans le résultat final <strong>de</strong> l’algorithme. La fig. 8.5 illustre son fonctionnement.valeur du bordvaleur du bordBuffer ABuffer BRésultatZone <strong>de</strong> <strong>la</strong> gestion du bordÉlément structurantZone <strong>de</strong> <strong>la</strong> gestion du bordFIG. 8.5 : Schéma <strong>de</strong> fonctionnement <strong>de</strong> l’algorithme <strong>de</strong> van Herk, phase p 3Elle ne travaille pas à l’échelle <strong>de</strong>s macro blocs mais à celle d’une ligne (colonne). Étant donné kle nombre <strong>de</strong>s pixels désignés par l’élément structurant, nous extrayons, <strong>pour</strong> une position donnée xd’une dimension correspondant au pixel central à l’échelle d’une ligne (colonne), les pixels avec l’in<strong>de</strong>xx + (k−1)2à partir du buffer A et les pixels avec l’in<strong>de</strong>x x − (k−1)2à partir du buffer B. Puisqu’il s’agitdu calcul utilisant les vecteurs <strong>de</strong> dép<strong>la</strong>cement <strong>pour</strong> évaluer <strong>la</strong> valeur d’un pixel, tous les phénomènes <strong>de</strong>traitement non-dépendants du sens du parcours par les éléments structurants, comme présentés dans lechapitre 5, page 99, entrent en jeu, notamment ceux qui sont connexes à <strong>la</strong> gestion <strong>de</strong>s pixels aux bords<strong>de</strong> l’image. La figure 8.6 illustre ce travail sur l’exemple <strong>de</strong> trois pixels, un p<strong>la</strong>cé dans <strong>la</strong> zone intérieure<strong>de</strong> l’image et d’autres p<strong>la</strong>cés dans <strong>la</strong> zone <strong>de</strong> traitement <strong>de</strong>s bords <strong>de</strong> l’image.Nous présentons <strong>la</strong> définition <strong>de</strong> <strong>la</strong> fonction phase3Gen qui effectue cette troisième phase et qui, <strong>pour</strong>extraire une valeur à partir <strong>de</strong>s buffers temporaires buf A et buf B , utilise l’approche naïve au traitement<strong>de</strong>s effets <strong>de</strong> bord, représentée par <strong>la</strong> fonction sampGen :170

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

Saved successfully!

Ooh no, something went wrong!