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.

Jaromír BRAMBOR5.1. ALGORITHMES ÉLÉMENTAIRES POUR LES GPPpixels et son fonctionnement sera décrit par une fonction plus complexe que celles que l’on a pu voir lors<strong>de</strong> traitement d’un voisinage d’un seul pixel (e.g. fonction ngbDi<strong>la</strong>te, page 92).Puisque cette manière <strong>de</strong> travailler suit <strong>la</strong> logique du traitement pixel par pixel décrit précé<strong>de</strong>mment,nous avons décidé d’employer dans ces algorithmes le concept <strong>de</strong>s superpixels dont le traitement aura unestructure semb<strong>la</strong>ble à celle d’un seul pixel. Rappelons que le concept <strong>de</strong>s superpixels est formellementintroduit dans <strong>la</strong> section 4.4.5, page 73, du chapitre 4 qui est consacré au formalisme fonctionnel adopté<strong>pour</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong>.Il faut noter que le traitement d’un superpixel est un traitement spécialisé et en tant que tel, il exigeune implémentation particulière <strong>pour</strong> un élément structurant donné et, par conséquent, il <strong>de</strong>man<strong>de</strong> beaucoupplus d’effort lors du développement <strong>pour</strong> sa mise en œuvre. Pour <strong>pour</strong>suivre l’explication <strong>de</strong>salgorithmes <strong>pour</strong> les superpixels, nous allons, tout d’abord, définir un skeleton algorithmique qui nousformalisera <strong>la</strong> structure <strong>de</strong>s algorithmes <strong>de</strong> voisinage qui sont non-dépendants du sens du parcours et quitravaillent avec les superpixels.5.1.4.1 Skeleton algorithmique généralisé <strong>pour</strong> le traitement morphologique par superpixelsLa structure <strong>de</strong>s algorithmes travail<strong>la</strong>nt sur le voisinage par l’approche <strong>de</strong>s superpixels va combiner<strong>de</strong>ux approches, les <strong>de</strong>ux étant déjà mentionnées. Nous nous baserons sur le skeleton généralisé <strong>de</strong>travail sur le voisinage ngbAlgoGen qui travail<strong>la</strong>it avec les éléments <strong>de</strong> base d’un array. Nous allonsle transposer au travail généralisé avec <strong>de</strong>s superpixels, tout en suivant les principes <strong>de</strong> passage à flux<strong>de</strong> superpixels (et vice versa) et les principes d’extraction du voisinage <strong>de</strong>s superpixels que nous avonsdécrits dans <strong>la</strong> section 4.4.5, page 73, dédiée à cette problématique.Ainsi, nous créons un nouveau skeleton algorithmique que nous appelons ngbAlgoGenSP et qui estprésenté par l’algorithme 5.4.Algorithme 5.4 : ngbAlgoGenSP, skeleton algorithmique généralisé <strong>de</strong> travail sur le voisinage<strong>pour</strong> les superpixels1 ngbAlgoGenSP :: [StreamizeSP α] → [ExtrNgbSP α] → [NgbOpSP α] → [ZipSP α]2 → Ar ( I , I ) α → Ar ( I , I ) α3 ngbAlgoGenSP strms extrs ops zips ar = array (bounds ar) (compute strms extrs ops zips ar)4 where5 compute [ ] [ ] [ ] [ ] ar = [ ]6 compute (s:ss) (e:es) (o:os) (z :zs) ar =7 ( ( foldl1 ( +) )8 ◦ (map z)9 ◦ (zip (s ar))10 ◦ (map o)11 ◦ (map (e ar))12 $ (s ar)13 )14 +(compute ss es os zs ar)Cet algorithme prend quatre listes <strong>de</strong>s fonctions qui spécifient le traitement exact <strong>de</strong>s superpixels danscertaines zones <strong>de</strong> l’image. La philosophie <strong>de</strong> découpage <strong>de</strong> l’image en zones où différentes approchesdu traitement peuvent être appliquées est <strong>la</strong> même que <strong>pour</strong> les éléments <strong>de</strong> base d’une image, cf.5.1.3.1,page 106.La première liste, strms contient les fonctions <strong>de</strong> passage d’un array à un stream <strong>de</strong>s in<strong>de</strong>x d’ancrage.La <strong>de</strong>uxième liste, extrs, contient <strong>de</strong>s fonctions d’extraction du voisinage d’un superpixel à partir <strong>de</strong> sonin<strong>de</strong>x d’ancrage ; <strong>la</strong> troisième, ops applique un kernel du calcul sur ce voisinage é<strong>la</strong>rgi et <strong>la</strong> quatrièmeliste nous fournit les fonctions qui assurent le passage d’un superpixel aux éléments <strong>de</strong> base in<strong>de</strong>xés par109

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

Saved successfully!

Ooh no, something went wrong!