欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字图像处理课程设计-- Huffman编码理论及算法实现

    • 资源ID:1399892       资源大小:91.50KB        全文页数:12页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    数字图像处理课程设计-- Huffman编码理论及算法实现

    1、 数字图像处理课程设计 课程题目 Huffman 编码原理及算法实现 Huffman 编码理论及算法实现 一、基本介绍 霍夫曼编码使用变长编码表对源符号(如文件中的一个 字母)进行编码,其中变长编码表是通过一种评估来源符号 出现机率的方法得到的,出现机率高的字母使用较短的编 码,反之出现机率低的则使用较长的编码,这便使编码之后 的字符串的平均长度、期望值降低,从而达到无损压缩数据 的目的。 霍夫曼树又称最优二叉树,是一种带权路径长度最短的 二叉树。所谓树的带权路径长度,就是树中所有的叶结点的 权值乘上其到根结点的路径长度(若根结点为 0 层,叶结点 到根结点的路径长度为叶结点的层数) 。树的路

    2、径长度是从 树根到每一结点的路径长度之和,记为 WPL= (W1*L1+W2*L2+W3*L3+.+Wn*Ln) N 个权值 Wi (i=1,2,.n) 构成一棵有 N 个叶结点的二叉树, 相应的叶结点的路径长度为 Li(i=1,2,.n) 。可以证明霍 夫曼树的 WPL 是最小的。 输入输入 符号集合 S=s1,s2, ,Sn,其 S 集合的大小为 n。 权重集合 W=w1,w2, ,Wn,其 W 集合不为负数且 Wi=weight(Si), 1 i n。 输出输出 一组编码 C(S,W)=c1,c2, Cn,其 C 集合是一组二 进制编码且 Ci 为 Si 相对应的编码,1 i n。 霍夫

    3、曼树常处理符号编写工作。根据整组数据中符号出 现的频率高低,决定如何给符号编码。如果符号出现的频率 太高,则给符号的码越短,相反符号的号码越长。假设我们 要给一个英文单字“F O R G E T“进行霍夫曼编码,而每个 英文字母出现的频率。 二、二、演算过程演算过程 (一)进行霍夫曼编码前,我们先创建一个霍夫曼树。 将每个英文霍夫曼树字母依照出现频率由小排到大, 最小在左。 每个字母都代表一个终端节点(叶节点) ,比较 F.O.R.G.E.T 五个字母中每个字母的出现频率,将最小的两 个字母频率相加合成一个新的节点。如 Fig.1 所示,发现 F 与 O 的频率最小,故相加 2+3=5。 比较

    4、 5.R.G.E.T,发现 R 与 G 的频率最小,故相加 4+4=8。 比较5.8.E.T, 发现5 与E的频率最小, 故相加5+5=10。 比较 8.10.T, 发现 8 与 T 的频率最小, 故相加 8+7=15。 最后剩 10.15, 没有可以比较的对象, 相加 10+15=25。 (二)进行编码(二)进行编码 1.给霍夫曼树的所有左链结0与霍夫曼树右链结1。 2.从树根至树叶依序记录所有字母的编码,如 Fig.2。 三、实现方法三、实现方法 实现霍夫曼编码的方式主要是创建一个二叉树和其节 点。这些树的节点可以存储在数组里,数组的大小为符号 (symbols)数的大小 n,而节点分为是

    5、终端节点(叶节点) 图 1 霍夫曼树 图 2 霍夫曼树 与非终端节点(内部节点) 。 一开始, 所有的节点都是终端节点, 节点内有三个字段: 1.符号(Symbol) 2.权重(Weight、Probabilities、Frequency) 3.指向父节点的链结(Link to its parent node) 而非终端节点内有四个字段: 1.权重(Weight、Probabilities、Frequency) 2.指向两个子节点的 链结(Links to two child node) 3.指向父节点的链结(Link to its parent node) 基本上,我们用0与1分别代表指向左

    6、子节点与右子 节点,最后为完成的二叉树共有 n 个终端节点与 n-1 个非终 端节点,去除了不必要的符号并产生最佳的编码长度。 过程中,每个终端节点都包含着一个权重(Weight、 Probabilities、Frequency) ,两两终端节点结合会产生一 个新节点,新节点的权重是由两个权重最小的终端节点权重 之总和,并持续进行此过程直到只剩下一个节点为止。 实现霍夫曼树的方式有很多种,可以使用优先队列 (Priority Queue)简单达成这个过程,给与权重较低的符 号较高的优先级(Priority) ,算法如下: 把 n 个终端节点加入优先队列,则 n 个节点都有一个 优先权 Pi,1 i n 如果队列内的节点数1,则: 从队列中移除两个最大的 Pi 节点,即连续做两次 remove(max(Pi), Priority_Queue) 产生一个新节点,此节点为(1)之移除节点之父节 点,而此节点的权重值为(1)两节点之权重和 把(2)产生之节点加入优先队列中 最后在优


    注意事项

    本文(数字图像处理课程设计-- Huffman编码理论及算法实现)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583