partie 1 : Compression :
Codage RLE pour une image en RVB
function coderle=testrle_rvb(file,qualite)
%Générer le code RLE à partir d'une image en couleurs (RVB)
%Découpage en blocs 8X8
decoupage (file);
load fichiers_mat/matrices;
%Récupérer les matrices R,V et B
x=1;
while x<=t/64
eval(['Z(:,:,1)' '=R' num2str(x) ';']);
eval(['Z(:,:,2)' '=V' num2str(x) ';'] );
eval(['Z(:,:,3)' '=B' num2str(x) ';']);
eval(['matrice',num2str(x),'=Z;']);
x=x+1;
end % end while
save fichiers_mat/matrices;
%Générer le code RLE pour chaque bloc
load fichiers_mat/matrices;
x=1;
while x<=t/64
[yy,ccb,ccr]=traitement_rle (eval(['matrice',num2str(x)]),qualite);
eval(['y' num2str(x) '=yy;']);
eval(['b' num2str(x) '=ccb;']);
eval(['r' num2str(x) '=ccr;']);
x=x+1;
end % end while
save fichiers_mat/mat_y;
%Concaténer les codes RLE de chaque bloc pour former un seul code
yyy=obt_chaine (t/64,'y',1,0);
cb=obt_chaine (t/64,'b',1,0);
cr=obt_chaine (t/64,'r',1,0);
load fichiers_mat/mat_y;
Y=eval(['[' yyy ']']);
CB=eval(['[' cb ']']);
CR=eval(['[' cr ']']);
q=num2str(qualite);
coderle=[Y 'y' CB 'c' CR 'r' q];
save fichiers_mat/coderle;