資源簡介
可以運行的哈夫曼matlab解碼程序
-------------計算信源熵----------------
Hu=-f.*log(f); %信元熵計算公式
codeinfo.Hu=sum(Hu);
fprintf('信源熵:%f\n',codeinfo.Hu);
%-------------計算平均碼長---------------
codeinfo.avecodelen = sum(f.*codelen);
fprintf('平均碼長:%f\n',codeinfo.avecodelen);
代碼片段和文件信息
load?codestream.txt?codestream?-ascii;
%-------------計算信源熵----------------
Hu=-f.*log(f);??????????????????????%信元熵計算公式
codeinfo.Hu=sum(Hu);
fprintf(‘信源熵:%f\n‘codeinfo.Hu);
%-------------計算平均碼長---------------
codeinfo.avecodelen?=?sum(f.*codelen);
fprintf(‘平均碼長:%f\n‘codeinfo.avecodelen);
%-------------計算壓縮效率---------------
codeinfo.zipeff?=?codeinfo.Hu/codeinfo.avecodelen;
fprintf(‘壓縮效率:%f\n‘codeinfo.zipeff);
%-------------計算壓縮率-----------------
codeinfo.zipration?=?length(codestream)/(8*X*Y);
fprintf(‘壓縮率:%f\n‘codeinfo.zipration);
fprintf(‘\n‘);
%-----------------------解碼------------------------
decode=[];
????nodeindex=index-1;
????wb2?=?waitbar(0‘解碼中,請稍候...‘‘Name‘‘哈夫曼解碼‘);?????%進度條
????i=1;
????while?i<=l
- 上一篇:ToF三維點云重建
- 下一篇:基于MATLAB的單純形法PID尋優程序
評論
共有 條評論