ALGORITHMES DE COMPRESSION D'IMAGES ET CODES DE ...

ALGORITHMES DE COMPRESSION D'IMAGES ET CODES DE ... ALGORITHMES DE COMPRESSION D'IMAGES ET CODES DE ...

tel.archives.ouvertes.fr
from tel.archives.ouvertes.fr More from this publisher
23.01.2014 Views

32 Figure 2.7 actions dépendant de la convention de connexité. CONVENTION -1- 4-connexité du fond et a-connexité des objets -2- 6-connexité (1ère diagonale) précode 5 Xl. -+- . IX lien_1 lien_O pmort pnaiss précode 10 • IX -+x 1. pmort pnaiss pmort pnaiss tel-00839591, version 1 - 28 Jun 2013 -3- 6-connexité (2ème diagonale) -4- 8-connexité du.fond et 4-connexité des objets lien_1 lien_O pmort pnaiss lien_1 lien_ a lien_1 lien_o Nous avons choisi la convention 1 dans toute la suite. Les cas où ce choix modifie les traitements sont signalés. Description de la structure de l'anneau des actives: struct paroi { parois struct paroi *suiv, 1* paroi suivante *1 *soeur, 1* paroi de même pt de naissance *conn, 1* paroi de meme pt de mort *1 *pap; 1* paroi appariée *1 *1 struct paire *ppaire; 1* voir paire de parois actives *1 char *pll; 1* ptr à la liste de liens *1 int lgr; 1* lgr en bits de la paroi *1 int xp; 1* coord courante de l'intersection avec la ligne de balayage *1 int dg; 1* indicateur droite/gauche *1 } ;

33 On remarque que de ciées à chaque paroi. suite. nombreuses in-forma ti ons sont as s o­ La description en viendra dans la 4. 3. ON TRAITE UN POINT DE MORT. Comme indiqué plus haut, le . traitement d'un point de mort consiste à désactiver, c est-à-dire à extraire de l'anneau des parois actives, les deux parois qui se rejoignent et se terminent en ce point. Si ce point de mort -ferme un contour, on construit son code global par chainage. Dans le cas contraire, le code des parois devenues inactives doit rester accessible bien que devant sortir de l'anneau des parois actives. c'est à cela que servent les pointeurs: tel-00839591, version 1 - 28 Jun 2013 -pconn, qui relie à n'importe quelle paroi, l'autre paroi de même point de mort qu'elle, et -psoeur, qui relie à n'importe quelle paroi, l'autre paroi de même point de naissance qu'elle. Ainsi, à 1' occurrence du dernier point de mort d ·un contour, peut-on suivre toutes les parois de celui-ci pour construire le code de contour global. Encore -faut-il pouvoir discerner -ferme ou non un contour. Pour cela, raissent: si un point de mort deux solutions appasuivre alternativement les chainages pconn et psoeur jusqu'à retomber sur le point de départ, ou sur un chainage NIL; attribuer à chaque paroi creee une classe; si un point de mort connecte deux parois de même classe, il ferme un contour, sinon les classes des deux parois sont fusionnées. Seule la fermeture du contour est en jeu ici. Les chainages pconn et psoeur sont nécessaires pour construire le code global du contour dans les deux cas, dès que l'on sait que le contour est fermé. Dans le premier cas ces chainages sont parcourus à chaque point de mort, alors que dans le deuxième ils ne_le sont qu'à la fin. Nous préférons la deuxième solution qui s'avère intéressante non . seulement au titre de la fermeture du contour, mais aussi pour l'extraction de quelques caractéristiques des contours. La classe associée à toute paroi est appelée •paire de parois actives".

33<br />

On remarque que de<br />

ciées à chaque paroi.<br />

suite.<br />

nombreuses in-forma ti ons sont as s o­<br />

La description en viendra dans la<br />

4. 3. ON TRAITE UN POINT <strong>DE</strong> MORT.<br />

Comme indiqué plus haut, le . traitement d'un point de<br />

mort consiste à désactiver, c est-à-dire à extraire de<br />

l'anneau des parois actives, les deux parois qui se<br />

rejoignent et se terminent en ce point.<br />

Si ce point de mort -ferme un contour, on construit son<br />

code global par chainage.<br />

Dans le cas contraire, le code des parois devenues<br />

inactives doit rester accessible bien que devant sortir de<br />

l'anneau des parois actives. c'est à cela que servent les<br />

pointeurs:<br />

tel-00839591, version 1 - 28 Jun 2013<br />

-pconn, qui relie à n'importe quelle paroi, l'autre paroi<br />

de même point de mort qu'elle, et<br />

-psoeur, qui relie à n'importe quelle paroi, l'autre paroi<br />

de même point de naissance qu'elle.<br />

Ainsi, à 1' occurrence du dernier point de mort d ·un<br />

contour, peut-on suivre toutes les parois de celui-ci pour<br />

construire le code de contour global.<br />

Encore -faut-il pouvoir discerner<br />

-ferme ou non un contour. Pour cela,<br />

raissent:<br />

si un point de mort<br />

deux solutions appasuivre<br />

alternativement les chainages pconn et psoeur<br />

jusqu'à retomber sur le point de départ, ou sur un<br />

chainage NIL;<br />

attribuer à chaque paroi creee une classe; si un point<br />

de mort connecte deux parois de même classe, il ferme<br />

un contour, sinon les classes des deux parois sont<br />

fusionnées.<br />

Seule la fermeture du contour est en jeu ici. Les chainages<br />

pconn et psoeur sont nécessaires pour construire le<br />

code global du contour dans les deux cas, dès que l'on<br />

sait que le contour est fermé. Dans le premier cas ces<br />

chainages sont parcourus à chaque point de mort, alors que<br />

dans le deuxième ils ne_le sont qu'à la fin.<br />

Nous préférons la deuxième solution qui s'avère intéressante<br />

non . seulement au titre de la fermeture du contour,<br />

mais aussi pour l'extraction de quelques caractéristiques<br />

des contours.<br />

La classe associée à toute paroi est appelée •paire de<br />

parois actives".

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

Saved successfully!

Ooh no, something went wrong!