图像霍夫曼编码 matlab,图像的Huffman编码程序

s1=j;

min=ht(j).weight;

end

end

min=100;

for j=1:i-1

if ht(j).weights2=j;

min=ht(j).weight;

end

end

ht(s1).pare=i;

ht(s2).pare=i;

ht(i).lch=s1;

ht(i).rch=s2;

ht(i).weight=ht(s1).weight+ht(s2).weight;

end

%for i=1:2*num-1

%if ht(i).pare==0

%    i

%end

%ht(i).pare

%end

%ht(end).weight

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%      编码

for i=1:num

res{i}=blanks(260);

cd=blanks(260);

start=num;

c=i;

p=ht(c).pare;

while(p>0)

if(ht(p).lch==c)

cd(start)='0';

else

cd(start)='1';

end

c=p;

p=ht(c).pare;

start=start-1;

end

%%%  反转字符串数组,去掉最后面的空串

cd=deblank(cd);

res{i}=seqreverse(cd);

res{i}=deblank(res{i});

res{i}=seqreverse(res{i});

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%       下面为图像编码

%%   时间较长,与原图像大小有关

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%p=0;

code=['Code Begin :']

for i=1:w

for j=1:h

%p=p+1

code=strcat(code,res{data(i,j)});

end

end

code=strcat(code,': The End!');

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值