资源简介

数字图像处理中的编码技术。本程序对输入的图像进行哈夫曼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 < tofind)
    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


评论

共有 条评论