Algo de balayage en zig zag de matrice

Algo de balayage en zig zag de matrice - Algo - Programmation

Marsh Posté le 09-05-2005 à 14:15:14    

Voilà, j'arrive pas à faire cet algo, même sur papier, je le visualise pas, (faut dire je suis pas tres doué non plus :D  )
En gros faut passer d'une diagonale à une autre en partant du coin supérieur gauche de la matrice et la parcourir alternativement de haut en bas et de bas en haut,  
j'espere que je suis clair  
 
je fait çà sous matlab, mais sans grand résultat

Reply

Marsh Posté le 09-05-2005 à 14:15:14   

Reply

Marsh Posté le 09-05-2005 à 16:20:26    

Tony Truand a écrit :

Voilà, j'arrive pas à faire cet algo, même sur papier, je le visualise pas, (faut dire je suis pas tres doué non plus :D  )


[:itm]

Tony Truand a écrit :

En gros (...)
j'espere que je suis clair


Non, tu pourrais être un peu plus précis ?
 
De rien pour le up. :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 09-05-2005 à 16:22:02    

en fait c'est plus un parcours de cette manière là:
 
http://membres.lycos.fr/sebi82/tipe/Parcours.gif
 

Reply

Marsh Posté le 09-05-2005 à 17:19:26    

bin tu te balades en diagonale, en montant si tu tapes dans la limite de la matrice, tu te déplaçes sur la droite (ou en bas si tu peux po) et tu te mets en mode descente de diagonale, et quand tu tapes la limite tu descends (ou tu vas à droite si tu peux po), et ainsi de suite juqsu'a avoir tout fait.

Reply

Marsh Posté le 09-05-2005 à 17:20:12    

c'est lz zig-zag utilisé pour l'encodage des jpegs et autres macro-blocks ?

Reply

Marsh Posté le 09-05-2005 à 17:24:08    

sinon y'a une approche plus simple à priori :D

Reply

Marsh Posté le 09-05-2005 à 17:25:12    

C est un scan en zig zag de n importe quel norme de compression video genre MPEG.. tu devrais donc pas trop galere a trouver un algo pour faire ca!
L'approche la plus courant (en C en tout cas) et de creer une structure SCAN[64][2] (64 parce que sur ton image t as mis une matrice de 8x8) tu peux alors faire une boucle toute conne du type (en Matlab):  

Code :
  1. for a=1:64
  2. i=SCAN(a,1);
  3. j=SCAN(a,2);
  4. valeur(a)=matrice(i,j);
  5. end


 
Cette solution evite de se galerer a faire des modulo et autres pour avoir le scan order en fonction de "a", mais bon si c est vraiment un algo que tu cherches et non pas une solution d implementation je te conseil de chercher du cote du scan zig-zag de MPEG-2 car il utilise le meme scan avec des macroblock de 8x8.

Reply

Marsh Posté le 09-05-2005 à 18:40:19    

bjone> oui c pour du jpeg, je bosse sous matlab, apres avoir sérialisé la matrice j'applique le codage RLE,
masi j'ai trop de mal a faire le scan, sans avoir des probleme,

Reply

Marsh Posté le 10-05-2005 à 10:29:44    

bin sinon tu fais la table à la main :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed