社区
图形处理/算法
帖子详情
求基于LZW算法的数据压缩程序
啷个篱笆
2019-05-15 12:56:01
压缩程序这样,求大神给出解压程序
...全文
46
2
打赏
收藏
求基于LZW算法的数据压缩程序
压缩程序这样,求大神给出解压程序
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
啷个篱笆
2019-05-15
打赏
举报
回复
我要Matlab编写的程序
zgl7903
2019-05-15
打赏
举报
回复
https://blog.csdn.net/nightwizard2030/article/details/69788964
matlab的各种压缩
算法
程序
本人收集的基于matlab的各种压缩
算法
程序
,包括
lzw
,huffman,dpcm,diffcoding,jpeg等 (Based on a variety of compression algorithms matlab program I collected, including
lzw
, huffman, dpcm, diffcoding, jpeg, etc.)
ncompress:快速,简单的
LZW
文件压缩器
关于 这是(N)压缩。 它是compress 4.1的改进版本。 压缩是一种快速,简单的
LZW
文件压缩器。 压缩没有最高的压缩率,但是它是压缩数据最快的
程序
之一。 压缩是UNIX社区中用于压缩文件的事实上的标准。 (N)compress 4.2引入了一种特殊的快速压缩哈希
算法
。 该
算法
比旧的哈希表使用更多的内存。 如果您不希望使用更快的哈希表
算法
,请将“内存空闲以进行压缩”设置为800000以下。 从compress 3.0开始,输出格式以向后不兼容的方式更改。 这并不是什么大问题,因为compress 3.0于1985年1月首次发布,而compress的第一版不到一年就可以使用。 不需要产生仅旧版本的compress可以接受的文件。 不过,较新版本的compress仍然能够处理较旧版本的输出-即compress 3.0+能够解压缩compress 2.0及更早版本产生的文件。 建
探空火箭振动遥测
数据压缩
算法
设计
目前探空火箭遥测数据下传链路带宽资源有限,振动采样数据量大、信源冗余度高。分析振动数据得知其分布特点为:整体相对稳定、局部波动较大。为减少探空火箭振动采样下传数据量,设计了基于动态哈夫曼编码的振动
数据压缩
方法,实现了对振动数据的无损压缩,压缩率达到20%左右,各数据包编解码树相互独立,丢包不破坏后续数据包解压。通过对比实验表明该方法压缩效率优于基于字典的
LZW
编码
算法
。
GIF录制.zip
GIF(Graphics Interchange Format)的原义是“图像互换格式”,是CompuServe公司在 1987 [1] 年开发的图像文件格式。GIF文件的数据,是一种基于
LZW
算法
的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用
程序
。GIF格式可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。
lzw
实验报告.docx
多媒体实验
LZW
编码
算法
1.实验目的 1)通过实验进一步掌握
LZW
编码的原理; 2)用C/C++等高级
程序
设计语言实现
LZW
编码 。 2.实验设备 硬件:装有32M以上内存MPC; 软件:Windows 9X/NT/XP/2000操作系统、 TC 或C++等高级语言环境。 3.实验设计原理
LZW
编码思想: (1)在压缩过程中动态形成一个字符列表(字典)。 (2)每当压缩扫描图像发现一个词典中没有的字符序列,就把该字符序列存到字典中,并用字典的地址(编码)作为这个字符序列的代码,替换原图像中的字符序列,下次再碰到相同的字符序列,就用字典的地址代替字符序列。
LZW
编码
算法
的具体执行步骤如下: 步骤1:开始时的词典包含所有可能的根(Root),而当前前缀P是空的; 步骤2:当前字符(C) :=字符流中的下一个字符; 步骤3:判断缀-符串P+C是否在词典中 (1)如果"是":P := P+C // (用C扩展P) ; (2)如果"否" 把代表当前前缀P的码字输出到码字流; 把缀-符串P+C添加到词典; 令P := C //(现在的P仅包含一个字符C);
lzw
实验报告全文共6页,当前为第1页。步骤4:判断码字流中是否还有码字要译 (1)如果"是",就返回到步骤2; (2)如果"否" 把代表当前前缀P的码字输出到码字流; 结束。
lzw
实验报告全文共6页,当前为第1页。 4.
程序
框图 5.
程序
设计代码 #include
#include
using namespace std; const int N=200;
lzw
实验报告全文共6页,当前为第2页。
lzw
实验报告全文共6页,当前为第2页。 class
LZW
{ private: string Dic[200]; int code[N]; public:
LZW
(){ Dic[0]='a'; Dic[1]='b'; Dic[2]='c'; string *p=Dic; } void Bianma(string cs[N]); int IsDic(string e); int codeDic(string f); void display(int g); }; void
LZW
::Bianma(string cs[N]){ string P,C,K; P=cs[0]; int l=0; for(int i=1;i
lzw实验报告全文共6页,当前为第3页。else{
lzw
实验报告全文共6页,当前为第3页。 code[l]=codeDic(P); Dic[3+l]=K; P=C; l++; } if(N-1==i) code[l]=codeDic(P); } display(l); } int
LZW
::IsDic(string e){ for(int b=0; b<200; b++) { if(e==Dic[b]) return 1; } return 0; } int
LZW
::codeDic(string f){ int w=0; for(int y=0;y<200;y++) if(f==Dic[y]){ w=y+1;
lzw
实验报告全文共6页,当前为第4页。break;
lzw
实验报告全文共6页,当前为第4页。 } return w; } void
LZW
::display(int g){ cout<<"经过
LZW
编码后的码字如下:"<
LZW编码后的词典如下:"<
LZW t; string CSstream[N]; int length; cout<<"请输入所
求
码子序列的长度:"; cin>>length; while(length>=N){ cout<<"该长度太长,请重新输入:"; cin>>length;
lzw
实验报告全文共6页,当前为第5页。}
lzw
实验报告全文共6页,当前为第5页。 cout<<"请输入要进行
LZW
编码的字符序列:"<
>CSstream[a]; t.Bianma(CSstream); return 0; } 6.
程序
截图 7.心得体会 7.1
LZW
算法
的优缺点
LZW
的优点是逻辑简单,实现速度快。缺点是字典的生成和查找是基于顺序插和检索模式,需要处理的数据量较大时会降低查找效率。 7.2
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章