资源简介
huff是无损压缩,绝对可用的哈夫曼编解码,本程序附带图像数据处理试验
结果 原始数据与编码后解码后的数据结果完全相同。
代码片段和文件信息
clear;
f0=imread(‘lena.jpg‘);
subplot(121)
imshow(uint8(f0));
xlabel(‘\fontsize{16}原始图像‘);
f=abs(f0/4)-10;
[MN]=size(f);
p=zeros(161);
for t=1:61
count=0;
for i=1:M
for j=1:N
if f(ij)==t-1
count=count+1;
end
end
end
p(t)=count;p0=p;
end
core=cell(611);
sign=zeros(61);
for hh=1:60
re=M*N;
for t=1:61
if (p(t)0)
re=p(t);
end
end
t=1;
while (p(t)~=re)&(t<61)
t=t+1;
end
if sign(t1)==0
core{t}=‘0‘;
else
core{t}=[‘0‘core{t}];
i=1;
while (sign(ti)~=0)&(i<61)
core{sign(ti)}=[‘0‘core{sign(ti)}];
i=i+1;
end
end
p(t)=0;
cou=t;
re1=M*N;
for t=1:61
if (p(t)0)
re1=p(t);
end
end
t=1;
while (p(t)~=re1)&(t<61)
t=t+1;
end
if sign(t1)==0
core{t}=‘1‘;
else
core{t}=[‘1‘core{t}];
i=1;
while (sign(ti)~=0)&(i<61)
core{sign(ti)}=[‘1‘core{sign(ti)}];
i=i+1;
end
end
p(t)=p(t)+re;
cou1=t;
i=1;
while (sign(ti)~=0)&(i<61)
i=i+1;
end
sign(ti)=cou;
i=i+1;
j=1;
while (sign(couj)~=0)&(j<61)
sign(ti)=sign(couj);
i=i+1;
j=j+1;
end
end %产生huffman码
fc=cell(MN);
for i=1:M
for j=1:N
if f(ij)<61
fc{ij}=core{f(ij)+1};
else
fc{ij}=‘0‘;
end
end
end %fc
imcore=char();
for i=1:M
for j=1:N
imcore=[imcorefc{ij}];
end
end
save picture imcore core; %保存图片码流和编码对应表
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1811 2009-06-24 15:36 huff\huffman_core.m
文件 4155 2009-06-24 14:53 huff\lena.jpg
文件 28953 2009-11-21 17:13 huff\picture.mat
文件 572 2009-06-24 15:36 huff\rebuild_picture.m
目录 0 2009-06-29 12:02 huff
----------- --------- ---------- ----- ----
35491 5
相关资源
- Huffman编码及译码的MATLAB实现
- 简单易理解的霍夫曼编码matlab程序
- 霍夫曼Huffman编码译码GUI界面设计.ra
- JPEG标准哈夫曼编码无损压缩Matlab
- 基于Matlab的图像Huffman编码的实现
- JPEG-matlab JPEG编码和解码
- huffman huffman编码用于图像的压缩和解
- huffman 数字图像处理中的编码技术。本
- DCT_JPEG 给予matlab的JPEG压缩程序
- 用霍夫曼方法检测圆、直线
- matlab 霍夫曼编码
- 分享MATLAB霍夫曼Huffman编码译码GUI界面
- 基于matlab霍夫曼图像压缩重建.zip
- huffman编译码
- 霍夫曼多元编码的matlab实现
- huffman--MATLAB哈弗曼压缩纯英文文本+图
- 基于matlab的huffman编码
- 这个Matlab实现的程序,实现用于一维
- Matlab实现自适应Huffman哈夫曼编码
评论
共有 条评论