Algo de balayage en zig zag de matrice - Algo - Programmation
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 ) |
Tony Truand a écrit : En gros (...) |
Non, tu pourrais être un peu plus précis ?
De rien pour le up.
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.
Marsh Posté le 09-05-2005 à 17:20:12
c'est lz zig-zag utilisé pour l'encodage des jpegs et autres macro-blocks ?
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 :
|
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.
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,
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 )
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