partie 1 :Compression :

 

Ecriture en Huffman1 pour une image en RVB

function [nb_bits]=ecriture_fichier_huffman_rvb(image_brute,qualite,option)

%Création du fichier compressé pour HUFFMAN mode RVB 

save fichiers_mat/option

[code,Y_dico,CB_dico,CR_dico]=compression_jpeg (image_brute,qualite,option);

tab_code=cell_to_tab (code,'_');  %code

dico_Y_ligne1=Y_dico(1,:);       %ligne1 dico Y

dico_Y_ligne2=Y_dico(2,:);       %ligne2 dico Y

dico_CB_ligne1=CB_dico(1,:);     %ligne1 dico CB

dico_CB_ligne2=CB_dico(2,:);     %ligne2 dico CB

dico_CR_ligne1=CR_dico(1,:);     %ligne1 dico CR

dico_CR_ligne2=CR_dico(2,:);     %ligne2 dico CR 

%Donner un caractère de fin de code pour chaque ligne

tab_dico1y=cell_to_tab (dico_Y_ligne1,'(');    %ligne1 dico Y

tab_dico2y=cell_to_tab (dico_Y_ligne2,')');    %ligne2 dico Y

tab_dico1cb=cell_to_tab (dico_CB_ligne1,'&');  %ligne1 dico CB

tab_dico2cb=cell_to_tab (dico_CB_ligne2,'~');  %ligne2 dico CB

tab_dico1cr=cell_to_tab (dico_CR_ligne1,'/');  %ligne1 dico CR

tab_dico2cr=cell_to_tab (dico_CR_ligne2,'\');  %ligne2 dico CR

tab=[tab_code,tab_dico1y,tab_dico2y,tab_dico1cb,tab_dico2cb,tab_dico1cr,tab_dico2cr,'"'];

fichier_compresse=['data_' option 'r' '.hzs'];

dlmwrite(fichier_compresse,tab,'delimiter','')

nb_bits=calcul_nb_bits (tab);