太原理工多媒体技术实验报告

太原理工多媒体技术实验报告

ID:38697501

大小:250.50 KB

页数:15页

时间:2019-06-17

太原理工多媒体技术实验报告_第1页
太原理工多媒体技术实验报告_第2页
太原理工多媒体技术实验报告_第3页
太原理工多媒体技术实验报告_第4页
太原理工多媒体技术实验报告_第5页
资源描述:

《太原理工多媒体技术实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《多媒体技术实验报告》学生姓名学号学院专业班级实验一Huffman编码算法的实现一、实验目的1、学习Matlab软件的使用和编程;2、进一步深入理解Huffman编码算法的原理;二、实验内容用Matlab实现Huffman编码程序的文本压缩和解压;三、实验原理1、Huffman编码程序的文本压缩和解压(1)读信息与概率计算(fhstart.m)(2)哈夫曼树图阶段(fhtree1.m)(3)哈夫曼代码生成模块(fhcode.m)四、Huffman编码的Matlab源程序及运行结果1、用Matlab实现Huffman编码程序的文本压缩和解压clc;clearall;k=input('E

2、nterthefilename:','s');%k=input('Enterthefilename:','s');fid=fopen(k,'r');%fid=fopen(''C:UsersldgDesktop2011教案HuffmanTestfiles,'r')F=fread(fid);img=char(F');mx=255;[xyz]=size(img);h(1:mx)=0;disp('Histogrambuildingphasestarted....');fori=1:yiy=img(i);val=double(iy);h(val)=h(val)+1;end%endd

3、isp('Probabilitycalculatingphasestarted...');i=1:mxp(i)=h(i)/(x*y);j=1;fori=1:mxif(p(i)~=0)lst(j)=i;lst(j+1)=p(i);j=j+2;endend[tt,mx]=size(lst);disp('sortingphasestarted....');fori=2:2:mxforj=i:2:mxif(lst(i)>lst(j))temp1=lst(i-1);temp2=lst(i);lst(i-1)=lst(j-1);lst(i)=lst(j);lst(j-1)=temp1;lst(j

4、)=temp2;endendenddisp('BuildingHuffmanTree.....');fhtree1(lst,img);%huffman画树阶段functionHT=fhtree1(lst,img)[p,q]=size(lst);[tt,mx]=size(lst);sz1=q;xx=1;k1=0;prt=0;while(k1<1)k1=lst(2)+lst(4);prt=prt-1;lstn(xx)=lst(1);lstn(xx+1)=0;lstn(xx+2)=prt;xx=xx+3;lstn(xx)=lst(3);lstn(xx+1)=1;lstn(xx+2)=prt

5、;xx=xx+3;lst(1)=prt;lst(2)=k1;lst(3)=99;lst(4)=99;fori=2:2:mxforj=i:2:mxif(lst(i)>lst(j))temp1=lst(i-1);temp2=lst(i);lst(i-1)=lst(j-1);lst(i)=lst(j);lst(j-1)=temp1;lst(j)=temp2;endendendendlstn(xx)=lst(1);lstn(xx+1)=lst(2);lstn(xx+2)=lst(3);disp('Callingfhcode...')fhcode(lstn,img)%哈夫曼代码生成模块func

6、tionHC=fhcode(lstn,img)disp('Codegeneratingphaseentered...');[lm,ln]=size(lstn);ntt=ln-1;[im,in]=size(img);t=0;idd=input('Enterdestinationhuffmancodefilename:','s');tab=input('EntertheHuffTablename(fordecodingpurpose):','s');tb=fopen(tab,'w+');idd=fopen(idd,'w+');fst1='';fst2='';ed=0;din=0;disp

7、('BuildingHuffmanTable.........');fori=1:ink=img(i);ftemp=img(i);a=0;forj=1:3:lnif(lstn(j+2)==99)break;endif(lstn(j)==k)a=a+1;ary(a)=lstn(j+1);k=lstn(j+2);endendforb=a:-1:1t=t+1;hc(t)=ary(b);fprintf(idd,'%d',ary(b));fst1=int2str(a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。