partie 2 :DeCompression :

 

Décompression du fichier pour Huffman1 en mode grayscale

function lecture_fichier_huffman_gris(nom_image,fichier)

%Décompression du fichier pour HUFFMAN mode gris

file=fopen(fichier);

i=1;comp=0;

[A,count]=fread(file,i);

comp=comp+count;

i=2;

while count~=0

[A,count]=fread(file,i);

comp=comp+count; %Récupération du nombre d'éléments dans le fichier

i=i+1;

end % end while

file2=fopen(fichier);

vecteur=char(fread(file2,comp));

vecteur=vecteur'; %Stocker les éléments du fichier dans un vecteur

%Extraction code et dico

for i=1:length(vecteur)

  if strcmp(vecteur(i),'_')==1   %code

  code=vecteur(1:i);

  x=1+i;

  end % end if

   if strcmp(vecteur(i),'(')==1

   dico_ligne1=vecteur(x:i);     %ligne1 dico

   x=1+i;

   end % end if

   if strcmp(vecteur(i),')')==1

    dico_ligne2=vecteur(x:i);    %ligne2 dico

   end % end if

end % end for

code=code(1:end-1);

code_cell=tab_to_cell (code); code_cell{end}=code(end-2);code_cell{end+1}=code(end);

dico_l1=tab_to_cell (dico_ligne1);

dico_l2=tab_to_cell (dico_ligne2); 

%Extraction de la qualité

dico_ligne2=dico_ligne2(1:end-1);

i=0;k=length(dico_ligne2);

while ~strcmp(dico_ligne2(k),' ')

i=i+1; k=k-1;

end % end while

qualite=dico_ligne2(length(dico_ligne2)-i+1:length(dico_ligne2));

qualite=str2num(qualite);

dico_l2{end+1}=qualite;

dico_l1{end+1}='#';

Y_dico(1,:)=dico_l1; Y_dico(2,:)=dico_l2;

load fichiers_mat/option

decompression_jpeg (code_cell,nom_image,option,Y_dico);