- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像压缩算法的分析与研究毕业设计论文
图像压缩算法的分析与研究毕业设计论文
导读:就爱阅读网友为您分享以下“图像压缩算法的分析与研究毕业设计论文”的资讯,希望对您有所帮助,感谢您对92的支持!
}
if (verbose)
}
在算法中需要注意这样一个细节问题,即包括这样的特殊情况:树只包含有一个唯一的字符。在这种情两况下,为了满足扩展二叉树的内部节点必须有两个子节点的要求,此函数还须生成另外一 叶节点个节点作为填充的辅助节点。函数首先生成叶节点,索引范围为0~number-1,每个叶节点都含有字符值,它出现的频率和节点自身的索引值,然后再生成内部节点。此步需要执行一个number-1次的循环。来自优先队列中的每个节点都包含自己在向量树中的索引值,这便利了节点关系的建立,可以将索引值赋值给父节点的左指针或右指针,也能够通过索引快速设置对应子节点的父节点属性。
3.生成位码
函数generateCode()从每个叶节点开始,沿着父节点路径往上直到发现根节点,就能够确定每个叶节点位码。每向上一步,如果此节点是其父节点的左子节点,就把位码相应位设为0,如果是右子节点,则设为1。这样发现的位码是逆序的,当将它赋值给叶节点的位码数据成员时,需要将位码再次逆转。
4.写位码
成员函数writeCompressData()参考上面已经生成的Huffman 编码方案,实现将源文件转换为压缩文件的过程。它首先以二进制方式再次读入源文件,将其诸字节解释为字符,并产生对应的压缩编码,此时压缩编码时在内存中,再将整个压缩码由内存转移到磁盘文件。其代码如下:
void HCompress::writeCompressedData()
{ // 用于容纳压缩文件Huffman码的位向量
bit_vector compressedData(totalBits,false);
int bitPos, i, j;
unsigned char ch;
// 为源文件清除end-of-file状态标记
// 并将文件指针设为文件的开始位置
source.clear();
source.seekg(0, ios::beg); cout
您可能关注的文档
最近下载
- 精品解析:2022-2023学年北京市海淀区人教新起点版五年级上册期末考试英语试卷(原卷版).docx VIP
- 译林牛津版苏教八年级上册英语词汇表(表格版)直接打印.pdf VIP
- 2024年湖南电气职业技术学院单招职业适应性测试题库含答案.docx
- 初中英语听说能力培养策略研究教学研究课题报告.docx
- HDR系列高阻尼隔震橡胶支座设计指南.pdf
- 少先队辅导员工作记录表.docx VIP
- 2024年工作总结及2025年工作计划ppt.pptx
- 四川省食品生产企业食品安全员理论考试题库资料(含答案).pdf
- 山东《济南市区岩土工程勘察地层层序划分标准》DB37T 5131-2019.pdf
- 2023至2024年武汉市东湖高新区六年级上册元月调考数学试卷.pdf
文档评论(0)