資源簡介
數字圖像處理中的編碼技術。本程序對輸入的圖像進行哈夫曼huffman編碼,顯示原圖像的熵、編碼后的平均碼字長度、并能夠根據編碼重建出圖像。本程序使用C++混合編程,已經編譯生成了Matlab庫文件,無需再與C++鏈接
代碼片段和文件信息
function?x?=?HuffmanDecoding(y)
%-------------------------------------------------------------------------%
%該函數由Huffman編碼的結果解碼還原出圖像,并將結果儲存域x中。
%-------------------------------------------------------------------------%
sz?=?double(y.size);
m?=?sz(1);
n?=?sz(2);??????????????????????????????????????????%獲取原始圖像大小
xmin?=?y.min;
map?=?HuffmanTable(double(y.hist));?????????????????%獲取編碼表
code?=?cellstr(char(‘‘?‘0‘?‘1‘));
link?=?[2;?0;?0];
left?=?[2?3];
found?=?0;
tofind?=?length(map);
while?length(left)?&?(found?????look?=?find(strcmp(map?code{left(1)}));????????%該字串是否存在于map中
????if?look?????????????????????????????????????????%如果是
????????link(left(1))?=?-look;??????????????????????%指向map中
????????left?=?left(2:end);?????????????????????????%刪除當前節段
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1921078??2009-12-17?00:42??bailixiahudutu.bmp
?????文件???????1516??2008-11-11?08:39??HuffmanDecoding.m
?????文件???????1668??2008-11-11?08:32??HuffmanEncoding.m
?????文件???????1741??2008-11-11?08:18??HuffmanTable.m
?????文件??????66614??2008-10-26?20:47??P5.bmp
?????文件????????413??2008-11-11?14:04??R5.m
?????文件??????53426??2008-11-11?01:42??Result5_1.JPG
?????文件??????23737??2008-11-11?08:03??Result5_2.JPG
?????文件???????1126??2008-11-11?01:25??unravel.c
?????文件??????20480??2008-11-11?08:01??unravel.mexw32
-----------?---------??----------?-----??----
??????????????2091799????????????????????10
評論
共有 條評論