partie 2 :DeCompression :
Décodage RLE pour une image en RVB
function Matrice3=decodrle_rvb(coderle)
%Décodage RLE pour RVB
%Récupérer la qualité
load fichiers_mat/coderle;
qualite=coderle(end);
qualite=cell2mat(qualite);
if ischar(qualite)==1
qualite=str2num(qualite);
end % end if
G=coderle(1:end-1);
%Récupérer les codes de Y,CB et CR
x=1;
for i=1:length(coderle)
if strcmp(coderle{i},'y')==1
Y=coderle(1:i);
x=1+i;
end % end if
if strcmp(coderle{i},'c')==1
CB=coderle(x:i);
x=1+i;
end % end if
if strcmp(coderle{i},'r')==1
CR=coderle(x:i);
end % end if
end % end for
Y=Y(1:end-1);CB=CB(1:end-1);CR=CR(1:end-1);
%Récupérer le code de chaque bloc
x=1;t=1;
for i=1:length(Y)
if strcmp(Y{i},'e')==1
eval([ 'y' num2str(x) '=Y(t:i);']);
t=i+1; x=x+1;
end % end if
end
x=1;t=1;
for i=1:length(CB)
if strcmp(CB{i},'e')==1
eval([ 'cb' num2str(x) '=CB(t:i);']);
t=i+1; x=x+1;
end % end if
end % end for
x=1;t=1;
for i=1:length(CR)
if strcmp(CR{i},'e')==1
eval([ 'cr' num2str(x) '=CR(t:i);']);
t=i+1; x=x+1;
end % end if
end % end for
save fichiers_mat/vect;
%Décodage du code de chaque bloc
x=x-1; load fichiers_mat/vect; i=1;
while i<x
a=eval([ 'y' num2str(i)]);
b=eval([ 'cb' num2str(i)]);
c=eval([ 'cr' num2str(i)]);
[r,v,b]=traitement_rle_inverse (a,b,c,qualite);
eval([ 'r' num2str(i) '=r;']);
eval([ 'v' num2str(i) '=v;']);
eval([ 'b' num2str(i) '=b;']);
i=i+1;
end % end while
load fichiers_mat/dim;
%Recoller les blocs
G=xx;P=nn/8;
RR=ret_bloc ('r',G,P);
VV=ret_bloc ('v',G,P);
BB=ret_bloc ('b',G,P);
R=eval(['[' RR ']']);
V=eval(['[' VV ']']);
B=eval(['[' BB ']']);
load fichiers_mat/indices;
%Redimensionner l'image
R=decomp_block (R,indL,indC);
V=decomp_block (V,indL,indC);
B=decomp_block (B,indL,indC);
Matrice3(:,:,1)=R;
Matrice3(:,:,2)=V;
Matrice3(:,:,3)=B;