实验二 LZW编码算法的实现.doc

实验二 LZW编码算法的实现.doc

ID:57675529

大小:87.00 KB

页数:11页

时间:2020-08-31

实验二 LZW编码算法的实现.doc_第1页
实验二 LZW编码算法的实现.doc_第2页
实验二 LZW编码算法的实现.doc_第3页
实验二 LZW编码算法的实现.doc_第4页
实验二 LZW编码算法的实现.doc_第5页
资源描述:

《实验二 LZW编码算法的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二LZW编码算法的实现一、实验目的1、学习Matlab软件的使用和编程2、进一步深入理解LZW编码算法的原理二、实验内容阅读Matlab代码,画原理图。三、实验原理LZW算法中,首先建立一个字符串表,把每一个第一次出现的字符串放入串表中,并用一个数字来表示,这个数字与此字符串在串表中的位置有关,并将这个数字存入压缩文件中,如果这个字符串再次出现时,即可用表示它的数字来代替,并将这个数字存入文件中。压缩完成后将串表丢弃。如"print"字符串,如果在压缩时用266表示,只要再次出现,均用266表示,并将"print"字符串存入串表

2、中,在图象解码时遇到数字266,即可从串表中查出266所代表的字符串"print",在解压缩时,串表可以根据压缩数据重新生成。四、LZW编码的Matlab源程序及运行结果functionlzw_test(binput)if(nargin<1)binput=false;elsebinput=true;end;ifbinputn=0;while(n==0)P=input('pleaseinputastring:','s')%提示输入界面n=length(P);end;else%TeststhespecialdecodercaseP='A

3、notherproblemonlongfilesisthatfrequentlythecompressionratiobegins...';end;lzwInput=uint8(P);[lzwOutput,lzwTable]=norm2lzw(lzwInput);[lzwOutput_decode,lzwTable_decode]=lzw2norm(lzwOutput);fprintf('');fprintf('Input:');%disp(P);%fprintf('%02x',lzwInput);fprintf('%s',nu

4、m2str(lzwInput));fprintf('');fprintf('Output:');%fprintf('%02x',lzwOutput);fprintf('%s',num2str(lzwOutput));fprintf('');fprintf('Output_decode:');%fprintf('%02x',lzwOutput);fprintf('%s',num2str(lzwOutput_decode));fprintf('');fprintf('');forii=257:length(lzwTabl

5、e.codes)fprintf('Output_encode---Code:%s,LastCode%s+%sLength%3d',num2str(ii),num2str(lzwTable.codes(ii).lastCode),...num2str(lzwTable.codes(ii).c),lzwTable.codes(ii).codeLength)fprintf('Output_decode---Code:%s,LastCode%s+%sLength%3d',num2str(ii),num2str(lzwTable_de

6、code.codes(ii).lastCode),...num2str(lzwTable_decode.codes(ii).c),lzwTable_decode.codes(ii).codeLength)end;function[output,table]=lzw2norm(vector,maxTableSize,restartTable)%LZW2NORMLZWDataCompression(decoder)%Forvectors,LZW2NORM(X)istheuncompressedvectorofXusingtheLZWal

7、gorithm.%[...,T]=LZW2NORM(X)returnsalsothetablethatthealgorithmproduces.%%Formatrices,X(:)isusedasinput.%%maxTableSizecanbeusedtosetamaximumlengthofthetable.Default%is4096entries,useInfforunlimited.Usualsizesare12,14and16%bits.%%IfrestartTableisspecified,thenthetableis

8、flushedwhenitreaches%itsmaximumsizeandanewtableisbuilt.%%Inputmustbeofuint16type,whiletheoutputisauint8.%Tableisacell

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

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

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