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 BRAMBORleurs position dans l’image et stockés dans un tuple (in<strong>de</strong>x, valeur). Le cinquième paramètre d’entrée estl’array ar.De toutes ces fonctions, ce sont effectivement celles qui décrivent le kernel du calcul qui sont les plusintéressantes. C’est <strong>pour</strong>quoi nous allons nous concentrer sur <strong>la</strong> <strong>de</strong>scription <strong>de</strong> ces <strong>de</strong>rnières dans <strong>la</strong> suite<strong>de</strong> ce chapitre et nous allons y présenter 3 cas précis <strong>pour</strong> le traitement à l’intérieur d’un superpixel :<strong>pour</strong> <strong>la</strong> grille carré <strong>de</strong> 4 et 8 voisins et <strong>pour</strong> <strong>la</strong> grille hexagonale <strong>de</strong> 6 voisins. Ces cas sont spécialisés<strong>pour</strong> les opérations morphologiques dont <strong>la</strong> fonction du traitement du voisinage local d’un pixel est unefonction <strong>de</strong> réduction par une seule opération <strong>de</strong> base 1 . Donc, nos opérations cibles sont <strong>la</strong> di<strong>la</strong>tationmorphologique (réduction par <strong>la</strong> fonction max) et <strong>la</strong> fonction <strong>de</strong> l’érosion morphologique (réduction par<strong>la</strong> fonction min).Ces 3 cas ne sont, en effet, que 3 <strong>de</strong>s cas possibles et très concrets <strong>de</strong> l’implémentation. D’autresimplémentations sont envisageables, par exemple avec <strong>de</strong>s superpixels plus <strong>la</strong>rges, mais nous croyonsque celles que nous présentons ici suffisent à démontrer le principe <strong>de</strong> fonctionnement et une brèveanalyse <strong>de</strong>s performances.5.1.4.2 Traitement d’un superpixel sur <strong>la</strong> grille carrée et 8-voisins <strong>pour</strong> <strong>la</strong> di<strong>la</strong>tation / l’érosionLe kernel <strong>de</strong> traitement que nous présentons ici est spécialisé <strong>pour</strong> les di<strong>la</strong>tations et les érosions sur<strong>la</strong> grille carrée et le voisinage constitué du pixel central et <strong>de</strong> ses 8 voisins. Il s’agit, en effet, d’un kernelqui est le plus facile à expliquer car <strong>la</strong> manière dont les données sont réutilisées d’un élément à l’autreest facile à interpréter visuellement.Expliquons <strong>la</strong> fonction <strong>de</strong> ce kernel sur le graphe <strong>de</strong> flux, q.v. fig. 5.9. Cette figure présente, danssa partie gauche, les éléments constituant le voisinage d’un superpixel. Les éléments correspondant ausuperpixel y sont entourés par une ligne intermittente. Le réseau d’interconnexions qui lie les éléments <strong>de</strong>l’image avec les blocs opérationnels op2 et op3 montre comment on procè<strong>de</strong> <strong>pour</strong> calculer le superpixelrésultant (présenté également entouré par une ligne intermittente). Le bloc opérationnel op2(, ) désigneune fonction <strong>de</strong> base prenant <strong>de</strong>ux arguments, le bloc op3(, , ) désigne une fonction ayant 3 arguments.(0,0) (0,1) (0,2)op3( , , )(1,0)(1,1)(1,2)op3( , , )op2( , )(1,1)op2( , )(2,0)(2,1)(2,2)op3( , , )op2( , )(2,1)(3,0) (3,1) (3,2)op3( , , )op2( , )(3,1)op2( , )(4,0) (4,1) (4,2)op3( , , )op2( , )(4,1)op2( , )(2n,0) (2n,1) (2n,2)op3( , , )op2( , )(2n,1)(2n+1,0) (2n+1,1) (2n+1,2)op3( , , )FIG. 5.9 : Fonctionnement du kernel traitant un superpixel en 8-voisinageLors du travail avec un superpixel, nous pouvons profiter au maximum <strong>de</strong> <strong>la</strong> localité <strong>de</strong>s données,<strong>de</strong> leur présence dans <strong>la</strong> mémoire <strong>la</strong> plus rapi<strong>de</strong> <strong>de</strong> <strong>la</strong> hiérarchie <strong>de</strong>s caches mais également <strong>de</strong>s résultatspartiels d’évaluation d’un élément que nous réutilisons lors du calcul. Tel que présenté sur <strong>la</strong> fig. 5.9,le kernel du calcul travaille avec un superpixel ayant un nombre pair <strong>de</strong>s éléments <strong>de</strong> base (2n) dans1Les kernels du calcul qui ne sont pas <strong>de</strong> ce type, par exemple le kernel <strong>pour</strong> <strong>la</strong> transformation tout ou rien, seraientconstruits différemment.110

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

Saved successfully!

Ooh no, something went wrong!