基于MATLAB的图像Huffman编码研究.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. . . . 成绩评阅人 中国矿业大学 2015-2016 学年第二学期 《数字视频技术》课程小设计考核 图像的 Huffman 编码研究 专业班级: 信息 13-04 班 学生姓名: 王振宇、龙航、王一鸣 学生学号:本人郑重声明:本人认真、独立完成了查找资料、完成作业、编写程序等考核任务,无抄袭行为。 签字: 日期: 2016.05.17 引言 图像数据压缩的目的 数字图像通常要求很大的比特数, 这给图像的传输和存储带来相当大的困难。 要占用很多的资源, 花很高的费用。一般原始图像存在很大的冗余度。 所以,对图像数据压缩显得非 常重要。 图像数据压缩的原理 对数字图像压缩主要运用两个基本原理: 一是图像的相关性。 在图像同一相邻像素之间, 活动图像的相邻帧的对应像素之间往往存在很强的相关性, 去除或减少这些相关性, 也就除去或减少图像信息中的冗余度, 继而实现对数字图像的压缩。 二是人的视觉心理特征, 人的视觉对于边缘急剧变化不敏感, 对颜色分辨力弱, 利用这些特征在相应部分降低编码精度而 使人从视觉上感觉不到图像质量的下降,从而达到对数字图像压缩的目的。 Huffman 编码 Huffman 编码是一种编码方式,是一种用于无损数据压缩的熵编码算法。它是 Huffman 在 1952 年根据 Shannon 在 1948 年和 Fano 在 1949 年阐述的这种编码思想下提出的一种不定长编码的方法, 有时也称之为最佳编码。 依据信源数据中各信号出现的频率 分配不同长度的编码。 其基本思想是在编码过程中, 对出现频率越高的值, 分配越短的编码长度,相应地对出现频率越低的值则分配较长的编码长度, 完全依据字符出现概率来构造异字头的平均长度最短的码字。哈夫曼编码方法的实质是针对统计结果对字符本身重新编码, 而不是对重复字符或重复子串编码,得到的单位像素的比特数最接近图像的实际熵值。 设计任务 设计任务 研究实现灰度图像的 Huffman 编码和解码恢复。 设计目的 了解 Huffman 编码的基本原理及其特点; 理解并熟练对图像进行哈夫曼编码的算法; 学习和熟悉 MATLAB 图像处理工具箱; 熟悉和掌握 MATLAB 程序设计方法; 设计要求 现灰度图像的 Huffman 编码和解码恢复图像;处理结果要求最终图像显示,且计算图像的信息熵,平均码字长度,编码效率,压缩比。 总体设计方案 . . 系统运行环境 Windows 8.1/10 系统 编程软件平台 MATLAB R2013a/R2014a Huffman 编码算法原理 哈夫曼编码的基本方法是先对图像数据扫描一遍, 计算出各种像素出现的概率, 按概率的大小指定不同长度的唯一码字, 由此得到一张该图像的哈夫曼码表。 编码后的图像数据记录的是每个像素的码字,而码字与实际像素值的对应关系记录在码表中。 计算信源符号出现的概率; 将信源符号按其出现的概率,由小到大顺序排列,并从左至右排列为叶节点 [1] ; 将两个概率最小的顶层节点进行组合相加, 组成一个父节点, 并在到左右子节点的两条连线上分别标记 0 和 1 ; 重复上一步骤,直到得到根节点,形成一颗二叉树; 从根节点开始到相应于每个符号的叶节点的 0/1 串,就是该符号的二进制哈夫曼编码。 Huffman 编码算法的特点 编出来的码都是异字头码,保证了码的唯一可译性。 由于编码长度可变。因此译码时间较长,使得哈夫曼编码的压缩与还原相当费时。 编码长度不统一,硬件实现有难度。 对不同信源的编码效率不同,当信源的符号概率为 2 的负幂次方时,达到 100 %的编码效率;若信源符号的概率相等,则编码效率最低。 由于符号按概率大小排列既可以从右到左也可以从左到右, 即 0 与 1 的指定是任意的, 故最后的编码结果可能不唯一, 但仅仅是分配的代码不同, 其平均码长是一样的, 故不影响编码效率与数据压缩性能。 算法流程图设计 开始加载图像,并将其灰度化 开始 加载图像,并将其灰度化 将灰度图像转换成无符号 的 8 位整数矩阵 调用 Huffman 编码程序进行压缩 . 调用 Huffman 解码程序进行解码 . . 编码流程图 开始 开始 计算各符号 (灰度值) 出现概率 按照概率从小到大排序 生 成 Huffman 树 得到二进制哈夫曼编码码字 计算编码参数 (平均码长、信息熵等) 对图像(图像矩阵)进行编码 计算二进制码字对应的十进制 数,并存入矩阵中, 得到码字与 灰度值的对应关系表,即码表 结束 解码流程图 开始 开始 读取压缩矩阵, 并存入行向量中 解码,按位读取行向量中的编码 并进行相应灰度值匹配 解码后的矩阵按图像矩阵尺寸 重排,得到解码矩阵 结

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体土默特左旗农特农机经销部
IP属地内蒙古
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档