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

46 On pourrait être tenté de réaliser le décodage en 2 étapes inverses des 2 étapes du codage (pré code, ccx). Un décodage, inverse de "précode", est effectivement facile i mettre au point.- Par contre, reconstruire le précode i partir du code de contour (inverse de ccx) n'est pas facile. Si l.'on y arrive c'est à l'aide d'un algorithme qui permet, sans travail. supplémentaire autre que l'écriture en mémoire d'image, de reconstruire l'image; dès lors pourquoi restreindre ce mécanisme et introduire une étape supplémentaire ? 5.2.2. ALGORITHME DE RECONSTRUCTION. tel-00839591, version 1 - 28 Jun 2013

47 !* AFFICHAGE PAR BALAYAGE */ 1* lx et ex représentent la taille de l'image a reconstruire *1 1* INITIALISATIONS */ lccx, cccx := lecture des coord du pt de depart de la 1ere CCX init_couples(); init_contours(); pp:=ps:=pc:=Nil; coul := BLANC; 1* Lecture des index permettant de récupérer les ccx dans l'ordre lexicographique inverse *1 lire (fichier index); 1* ON BALAYE L'IMAGE ENTIERE POUR LA RECONSTRUIRE*/ l:=lccx; tant que 1 >=0 tel-00839591, version 1 - 28 Jun 2013 pour c := ex jusqu'à 1 faire si (pactives [c] > 0) alors si (pactives [c] = 2) alors ABSORBER_LIEN; ABSORBER_LIEN sinon ABSORBER_LIEN fin si sinon si (ATTEINT(lcple,ccple)) alors ACTIVER_COUPLE sinon si (ATTEINT(lcont,ccont)) alors ACTIVER_CONTOUR sinon si {ATTEINT(lccx,cccx)) alors ACTIVER_CCX; fin si fin si fin si fin si finpour fintant 1* s'il y a des lignes blanches on saute à la ccx suivante. abs(lcple)=INFINI lorsqu'il n'y a plus de couples en attente. pc=Nil lorsqu'il n'y a plus de parois actives. */ si ({pc= Nil) et { abs(lcple) =INFINI)) alors l:=lccx; fin si ATTEINT (ligne,colonne) est vrai lorsque ligne = 1 et colonne = c

47<br />

!* AFFICHAGE PAR BALAYAGE */<br />

1* lx et ex représentent la taille de l'image a reconstruire *1<br />

1* INITIALISATIONS */<br />

lccx, cccx := lecture des coord du pt de depart de la 1ere CCX<br />

init_couples();<br />

init_contours();<br />

pp:=ps:=pc:=Nil;<br />

coul := BLANC;<br />

1* Lecture des index permettant de récupérer les ccx<br />

dans l'ordre lexicographique inverse *1<br />

lire (fichier index);<br />

1* ON BALAYE L'IMAGE ENTIERE POUR LA RECONSTRUIRE*/<br />

l:=lccx;<br />

tant que 1 >=0<br />

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

pour c := ex jusqu'à 1 faire<br />

si (pactives [c] > 0) alors<br />

si (pactives [c] = 2) alors<br />

ABSORBER_LIEN;<br />

ABSORBER_LIEN<br />

sinon<br />

ABSORBER_LIEN<br />

fin si<br />

sinon<br />

si (ATTEINT(lcple,ccple)) alors<br />

ACTIVER_COUPLE<br />

sinon<br />

si (ATTEINT(lcont,ccont)) alors<br />

ACTIVER_CONTOUR<br />

sinon<br />

si {ATTEINT(lccx,cccx)) alors<br />

ACTIVER_CCX;<br />

fin si<br />

fin si<br />

fin si<br />

fin si<br />

finpour<br />

fintant<br />

1* s'il y a des lignes blanches on saute à la ccx suivante.<br />

abs(lcple)=INFINI lorsqu'il n'y a plus de couples en<br />

attente. pc=Nil lorsqu'il n'y a plus de parois actives. */<br />

si ({pc= Nil) et { abs(lcple) =INFINI)) alors<br />

l:=lccx;<br />

fin si<br />

ATTEINT (ligne,colonne) est vrai lorsque ligne = 1<br />

et colonne = c

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

Saved successfully!

Ooh no, something went wrong!