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.3. ALGORITHMES GÉODÉSIQUES POUR LES GPP/GPPMMles blocs unaLoad. Notons que <strong>pour</strong> ce cas particulier où nous connaissons a priori <strong>la</strong> définition exacte <strong>de</strong>l’élément structurant, nous n’utilisons pas <strong>la</strong> lecture non alignée <strong>pour</strong> l’extraction <strong>de</strong>s vecteurs paquetéscentraux mais nous l’utilisons uniquement <strong>pour</strong> l’extraction <strong>de</strong>s voisins <strong>de</strong> ces <strong>de</strong>rniers. Ces voisins sontdénotés dans l’image par les in<strong>de</strong>x A et B.D’autres schémas <strong>de</strong> travail avec les superpixels SIMD peuvent être dérivés, notamment ceux <strong>pour</strong>le travail avec le 4 pixels voisins sur <strong>la</strong> grille carrée, cf. sa version sca<strong>la</strong>ire sur <strong>la</strong> fig. 5.10, page 111, et<strong>pour</strong> le travail avec 6 voisins sur <strong>la</strong> grille hexagonale, cf. sa version sca<strong>la</strong>ire sur <strong>la</strong> fig. 5.11, page 112.Algorithme 5.8 : ngbAlgoGenSPSIMD, skeleton algorithmique généralisé <strong>de</strong> travail sur le voisinage<strong>pour</strong> les superpixels1 ngbAlgoGenSPSIMD :: [StreamizeSP(PVecI α)] → [ExtrNgbSP(PVec I α)]2 → [NgbOpSP (PVec I α)] → [ZipSP(PVec I α)]3 → Ar ( I , I ) (PVec I α) → Ar ( I , I ) (PVec I α)4 ngbAlgoGenSPSIMD = ngbAlgoGenSPLa formalisation <strong>de</strong> l’approche <strong>de</strong>s superpixels SIMD travail<strong>la</strong>nt avec les types <strong>de</strong>s vecteurs paquetéssuit <strong>la</strong> même logique que celle employée <strong>pour</strong> les algorithmes élémentaires. Nous reprenons le skeletonalgorithmique ngbAlgoGenSP (défini par l’algortihme 5.4) et nous spécialisons sa forme générique <strong>pour</strong>le type polymorphe <strong>de</strong> vecteurs paquetés PVec I α en tant que fonction ngbAlgoGenSPSIMD, définiepar l’algorithme 5.8.5.3 <strong>Algorithmes</strong> géodésiques <strong>pour</strong> les GPP/GPPMM5.3.1 Idée <strong>de</strong> baseLe traitement géodésique constitue un type <strong>de</strong> traitement <strong>de</strong> base <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong>.On désigne une opération comme opération morphologique géodésique si le traitement est effectué d’unemanière itérative, si nous pouvons y percevoir une propagation <strong>de</strong>s valeurs et si cette propagation estrestreinte lors d’enchaînement <strong>de</strong>s itérations par une fonction, exprimée le plus souvent en tant qu’imagedu masque. Citons comme exemple Ser00 <strong>la</strong> définition <strong>de</strong> <strong>la</strong> di<strong>la</strong>tation δ géodésique <strong>de</strong> taille unité (donnépar l’élément structurant B) <strong>de</strong> <strong>la</strong> fonction g restreinte par <strong>la</strong> fonction f :δ f (g) = inf(g + B, f) (5.1)nous travaillons à l’échelle <strong>de</strong>s fonctions, c’est-à-dire à l’échelle <strong>de</strong>s images entières. Si on suivait cesdéfinitions, <strong>la</strong> restriction, représentée dans notre exemple par <strong>la</strong> fonction inf, <strong>de</strong>vrait opérer sur les images.Pour les raisons <strong>de</strong> performance, il est préférable d’imposer <strong>la</strong> restriction sur <strong>la</strong> propagation déjàdans le kernel du calcul <strong>de</strong> l’opération sur le voisinage qui travail à l’échelle <strong>de</strong>s éléments <strong>de</strong> l’array.Ainsi, nous pouvons construire un kernel d’une fonction morphologique géodésique à condition quenous puissions introduire <strong>la</strong> valeur restrictive (valeur du masque correspondant au pixel traité) commeun paramètre supplémentaire dans <strong>la</strong> fonction définissant le kernel.Nous allons nous appuyer sur les kernels géodésiques <strong>de</strong>s opérations sur le voisinage. Nous avonsprésenté <strong>la</strong> forme formelle <strong>pour</strong> ces kernels dans <strong>la</strong> section 4.6.6, page 94. Elle sera représentée dansnos algorithmes par les fonctions du type NgbGOp. De plus, nous <strong>de</strong>vons également gérer dans cesalgorithmes l’extraction <strong>de</strong> <strong>la</strong> valeur du masque. Pour cette extraction, nous allons nous appuyer sur <strong>la</strong>même fonction du parcours <strong>de</strong>s stream que celle utilisée <strong>pour</strong> l’image même. Mais il nous faut spécifierune fonction d’échantillonnage <strong>de</strong>s éléments d’un array à partir d’un in<strong>de</strong>x qui est du type SampFnc etqui sera utilisée <strong>pour</strong> obtenir <strong>la</strong> valeur concrète du masque <strong>pour</strong> un in<strong>de</strong>x concret.Remarquons que <strong>pour</strong> extraire correctement les éléments qui se correpon<strong>de</strong>nt dans l’image et dansle masque, les dimensions <strong>de</strong> ces <strong>de</strong>ux arrays doivent être obligatoirement les mêmes. L’algorithme 5.9115

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

Saved successfully!

Ooh no, something went wrong!