登录
首页 » 算法 » LZW压缩算法c++实现

LZW压缩算法c++实现

于 2022-03-11 发布 文件大小:24.81 kB
0 286
下载积分: 2 下载次数: 1

代码说明:

应用背景本程序是一个使用C++实现的压缩算法,LZW算法,LZW压缩算法是Lempel-Ziv-Welch 3个人共同发明的,简称 LZW 的压缩算法,可以用任何一种语言来实现它. LZW是GIF图片文件的压缩算法,而且zip压缩的思想也是基于LZW实现的,所以LZW对文本文件具有很好的压缩性能。 LZW压缩算法的基本原理:提取原始文本文件数据中的不同字符,基于这些字符创建一个编码表,然后用编码表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小。看起来和调色板图象的实现原理差不多,但是应该注意到的是,我们这里的编码表不是事先创建好的,而是根据原始文件数据动态创建的,解码时还要从已编码的数据中还原出原来的编码表. 关键技术编码表中每一项的大小一般为12位,用来代表一个字符串。这样编码表有2**12=4096项,编码值是0~4095。通常情况下0~255是固定的,用 来代表单个字符0~255。而值256通常用来表示开始新的编码表,因为如果编码表的4096项都用完了,而待压缩文件还没有处理完,那么就需要生成新的 编码表继续压缩;257表示压缩结束,用来写到压缩文件尾。从258开始,每个值都代表一个字符串(至少2个字符)。 举个例子,有下面的字符串:ababcdefgefg。(a的ascii码是0x61=97) 压缩后的数据是:97 98 258 99 100 101 102 103 263 103。 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 简单可扩展的图像处理算法,来处理图像的边缘检测
    一个简单的扩展计划,在单色图像进行图像过滤算法来检测边缘。加载的图像将被转换为16位单色灰度像素值,在其所有的过滤操作工作。最后一次过滤操作的结果立即被示出。查看3调色板准备:线性灰色调色板(0... 255)线性灰色调色板(255... 0)顺利调色板使用中值滤波n次,以消除像素异常。实际显示图像helpes的直方图来确定歧视级别的灰度图像转换为二进制(0-1)图像。直方图对话框立即仅在面板而不是行为上的图像的值的滑块。使用“最小范围”按钮和第三滑块,以确定电平来判别图像。判别该图像之后被关闭直方图对话框。使用腐蚀和膨胀运营商打破小桥流水的形象。侵蚀操作的数量应该是相同的扩张操作的数量。使用拉普拉斯算到二进制图像转换为边缘图像。这些图像保存为8位PNG图像。这个程序是很容易扩展与其他运营商如FFT或轮廓操作。
    2022-06-01 07:08:05下载
    积分:1
  • 斯密斯预估器
    1、CserialPort实现了简单而强大的多线程串口编程工具,CserialPort类是在Remon Spekreijse设计的CSerialPort类基础上设计的,并增加了对二进制数据传输和块读写方式的支持和其他功能函数;2、实现了Smith预估器与PID控制的结合;
    2023-01-05 17:00:10下载
    积分:1
  • 任意相互不捕捉皇后生成源程序(类似相互不捕捉八皇后)
    任意相互不捕捉皇后生成源程序(类似相互不捕捉八皇后)-not arbitrary mutual capture Queen"s generation source (similar to each other to capture 8 Queen)
    2022-03-10 05:50:06下载
    积分:1
  • 关于统计学习理论与支持向量机
    关于统计学习理论与支持向量机- About statistical study theory and support vector machine
    2022-10-27 17:05:04下载
    积分:1
  • 一个用c语言编写的存储管理模拟程序
    一个用c语言编写的存储管理模拟程序- The memory management simulator which compiles with the c language
    2022-04-20 11:50:14下载
    积分:1
  • 这是一个用于雷达航迹处理的kalman滤波程序
    这是一个用于雷达航迹处理的kalman滤波程序-This is a deal for the radar track of kalman filtering procedures
    2022-05-29 01:08:49下载
    积分:1
  • 关于全排列的C++实现
    全排列算法采用分治递归的思想,举例来说就是,假设给出一串数字要求进行全排列,则先保持该数字串的第一位不动,其后的数字进行全排列,排列思想依旧,然后将该数字串的第一位和第二位置换,在进行全排列,以此类推,进行递归排列。
    2023-08-11 10:40:03下载
    积分:1
  • KNN最邻近分类算法
    改代码是由python编写的,实现了机器学习中最常用的、最简单的最邻近算法(KNN)。其中,附带有验证用的数据集,可以验证算法的效果。
    2022-07-09 18:04:11下载
    积分:1
  • 该界面可以通过MATLAB命令提示符下进入新用。用户可以。
    This GUI can be used by entering nu at the MATLAB command prompt. The user can either select a function (f(x)) of their choice or a statistical distribution probability distribution function to plot over a user defined range. The function s integral can be evaluated over a user defined range by using: The composite trapezium, simpsons and gauss-legendre rules. This is useful for calculating accurate probabilities that one might see in statistical tables.
    2022-02-10 10:26:40下载
    积分:1
  • 国家集训队2007论文集 给参加noi acm考试的同学
    国家集训队2007论文集 给参加noi acm考试的同学-Essays on the National Team, 2007 to take part in the examination of students noi acm
    2023-07-23 23:25:05下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载