上海11选5

电子与信息工程毕业论文:Huffman编码在图像处理中的应用研究及实现.doc

返回
电子与信息工程毕业论文:Huffman编码在图像处理中的应用研究及实现.doc_第1页
第1页 / 共31页
电子与信息工程毕业论文:Huffman编码在图像处理中的应用研究及实现.doc_第2页
第2页 / 共31页
电子与信息工程毕业论文:Huffman编码在图像处理中的应用研究及实现.doc_第3页
第3页 / 共31页
电子与信息工程毕业论文:Huffman编码在图像处理中的应用研究及实现.doc_第4页
第4页 / 共31页
电子与信息工程毕业论文:Huffman编码在图像处理中的应用研究及实现.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述:
本 科 毕 业 设 计 Huffman 编码在图像处理中的应用研究及实现 所在学院 专业班级 电子与信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘要 本论文阐述了 Huffman 编码数字图像压缩算法进行分析和实现,通过实践验证 Huffman算法在图像的压缩中可 以取得良好的压缩效果,介绍了 Huffman 编码的原理特点与方法。 近几十年来,由于大规模集成电路技术和计算机技术的迅猛发展,离散数学理论的创立和完善,数字图像处理技术正逐渐成为其他科学技术领域中不可缺少的一项重要工具。数字图像处理技术也从空间探索到微观研究、从军事领域到工农业生产、从科学教育到娱乐游戏等越来越多的领域得到广泛应用。 数字图像处理课程概念多,内容抽象,入门较难的特点,以实践为导向,以实际应用为目标来介绍数字图像出来的基本概念和基础知识。数字图像处理主要研究内容包括图像变换、图像增强、图像复原、 图像压缩、图像分割等,它是一门实用而综性的边缘学科。在介绍数字图像处理技术基础理论及算法原理的同时,还特别注意如何用 MATLAB 软件编程时限一些常用的图像处理的典型算法,能够深刻理解和掌握图像吃力的理论和方法。 本论文主要是研究探讨了关于 Huffman 编码, Matlab7.0 在数字图像处理中的一些应用。介绍了一些国内外的研究动态,和应用方面,讨论了数字图像的压缩中的哈夫曼编码、香农编码、算术编码等。然后是 huffman 编码的 MATLAB 图像压缩实现和算术编码的 MATLAB 实现的举例和讨论。最后是图像的调整和 变换,将自己拍摄的图片,进行离散余弦变换和反余弦变换恢复图像对比。 关键词 huffman;哈夫曼编码; matlab;数字图像II abstract This paper introduces the Huffman coding digital image compression algorithm analysis and achieve, through practice in image compression Huffman algorithm can obtain good compression effect, this paper introduces the principle of Huffman coding characteristics and s. In recent decades, due to the large scale integrated circuit technology and the rapid development of computer technology, discrete mathematics theory and perfect, digital image processing technology is becoming other indispensable science and technology field an important tool. Digital image processing technology is also from space exploration to micro research, from the military field to the industrial and agricultural production, from the scientific education to entertainment games more and more fields such as widely. Digital image processing curriculum concept, rich in content, abstract, introduction to the characteristics of harder to practice oriented and actual application for target to introduce digital image out of the basic concept and knowledge. Digital image processing the main research contents include image transation, image enhancement, image restoration, image compression, image segmentation etc, it is the use of sexual edge science ensemble. In the digital image processing technology in algorithm theory and basic theory, and pay special attention to how to MATLAB software programming time limit some common image processing typical algorithms, can profoundly understand and master the theory and of image sweaty. This thesis mainly is studied in Matlab7.0 Huffman coding, about some application of digital image processing. Introduces some of the domestic and foreign research dynamic, and applications, discussed the digital image compression coding, huffmann shannon coding, arithmetic coding, etc. Then Huffman coding is the MATLAB image compression realization and the arithmetic coding MATLAB and examples of discussion. Finally the image adjustments and trans, the images captured his, discrete cosine trans and reverse cosine trans restored image contrast. Keywords huffmann code; Matlab; Digital imageIII 目录 第 1 章 绪论 ......................................................... 1 第 2 章 图像编码与压缩研究 ........................................... 3 2.1 概述 ......................................................... 3 2.2 哈夫曼编码 ................................................... 5 2.3 Shannon-Fano 编码 ............................................ 5 2.4 算术编码 ..................................................... 6 2.5 行程编码( RLE) .............................................. 8 2.6 变换编码 ..................................................... 9 第 3 章 图像的 huffman 编码实现 ...................................... 11 3.1 MATLAB 语言及其特点 ......................................... 11 3.2 Huffman 编码步骤 ............................................ 12 3.3 huffman 编码的 MATLAB 实现 ................................... 13 3.3.1 创建图像文件 .......................................... 13 3.3.2 图像 huffman 编码程序设计 .............................. 14 3.4 算术编码的 MATLAB 实现程序 ................................... 18 第 4 章 图像的调整和变换 ............................................ 21 4.1 MATLAB7.0 提供的 DCT 变换函数 ................................ 21 4.2 离散余弦变换的 MATLAB7.0 实现 ................................ 21 总结 ............................................................... 25 致谢 ................................................ 错误 未定义书签。 参考文献 ........................................................... 26 附录 1 .............................................................. 27 附录 2 .............................................................. 27 1 第 1 章 绪论 随着信息技术的不断发展,数字图像处理技术越来越多地被应用比如在航空航天、文化艺术生、军事制导、机器人视觉、工 业检测和物医学工程等各个领域。图像处理逐渐成为一门引人注目的学科,而 MATLAB 语言具有强大的科学运算、高质量的图形可视化、灵活程序设计流程、与界面设计与其他程序和语言便捷的接口功能,成为现在国际上 尤其是在自动控制这个领域 最有活力的软件之一。 MATLAB 又被称作是矩阵实验室,它具有强大的矩阵运算能力,是其它语言无法比拟的,而矩阵运算正是图像处理的根本所在。 图像处理的应用领域对人们的关系异常紧密,涉及到人们的工作与生活的方方面面。图像是人类获取和交换信息的主要来源,随着科技的发展,人们活动范围的一直的扩 大,图像处理的应用领域也跟随着不断扩大。具体应用的领域有很多方面,比如在航天和航空技术方面,它在航天和航空技术方面的应用,除了 JPL 对月球和火星之类的照片的处理之外,另一方面的是在飞机遥感与卫星遥感技术中的应用。自从 1960 年以后,一些国际组织发射了资源遥感卫星和天空实验室等,由于天气等外界因素的影响,图像质量往往都不是很高。所以说,用这样昂贵的代价获取这样的图像是非常不合算的,而必须采用数字图像处理技术,提高图象质量。如 LANDSAT 系列陆地卫星,采用多波段扫描器( MSS),在约为 900 千米的高空对地球每 一个地区进行扫描成像,以 18 天为一周期,它的图像分辨率和地面上十几米到 100 左右是差不多的。比如 1983 年,当时发射的 LANDSAT-4,它的分辨率为 30m。这些图像在空中先进行数字化和编码等处理,转换成数字信号存入到硬盘或者磁带中,当卫星经过地面站上空时,再以高速传送下来,地面站接收到后,再由处理中心分析判读出来。许多国家每天都会派出很多侦察飞机对地球上某些的地区进行空中摄影,对这些照片进行处理分析。以前完成这些工作,需要用到上千人,而现运用数字图像处理技术,运用高级计算机来判读分析,得到质量更高的图像。 这样既节省人力,又提高了效率,在某些图像中还可以提取人工所不能发现的有用信息。数字图像处理方法无论是在成像、存储、传输过程中,还是在判读分析中,都运用到了。现在很多国家都在利用陆地卫星所获取的图像进行病虫害检测、水火检测、环境污染检测、森林调查、海洋泥沙和渔业调查、水资源调查、石油勘查、矿产量探测、大型工程地理位置勘探分析、土壤营养、水份和农作物生长、产量的估算等、地质结构、水源及环境分析等。我国也运用数字图像处理技术,开展了很多方面的一些实际应用,并在某些方面获得了良好的效果。数字图像处理技术特别是在气象 预报和对太空其它星球研究方面,发挥了相当大的作用。 数字图像处理在生物医学工程方面的应用很有成效。除了上 CT 技术之外,还有一类是对医用显微图像的处理分析。如红细胞、白细胞分类、染色体分析、癌细胞识别等。此外,图像处理技术广泛的应用在 X 光肺部图像增晰、心电图分析、超声波图像处理、立体定向放射治疗等医学诊断方面。 当今通信的主要发展方向是声音、文字、图像和数据结合的多媒体通信。具体的是将电话、电视和计算机以三网合一的方式在数字通信网上传输。其中图像通信最为困难和复杂的。因为图像的数据量十分庞大,比如传送一台普通 彩色电视信号的速率达 100Mbit/s 以上,那么,要将这样高速率的数据实时传送出去,就必须要采用编码技术来压缩这些信息。这也是编码压缩对这些技术成败的关键。现在主要应用的是熵编码、 DPCM 编码和变换编码外,正在大2 力开发研究新的更高效的编码方法,如分行编码、自适应网络编码、小波变换图像压缩编码等。 图像处理技术在工业和工程领域中有着相当广泛的应用,比如在自动装配线中检测零件的质量,并对零件进行数据分类,印刷电路板瑕疵检查,弹性力学照片的应力分析,流体力学图片的阻力和升力分析等。其中最重要的是研制具备视觉、听觉 和触觉功能的智能高科技机器人,将会给工农业生产和人类生活带来新的作用,目前已在工业生产中的喷漆、焊接、装配中已经得到有效的利用。 目前数字图像处理应用有电视画面的数字编辑,动画的制作,电子图像游戏,发型设,计服装设计与制作,文物资料照片的复制和修复等等,运动员动作分析和评分等等,计算机美术已逐渐形成一门新的艺术,其中大量的应用到了数字图像处理技术。 在军事方面图像处理和识别主要用于导弹的精确末制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等。公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别都是图像处理技术成功应用的例子。 在当前呼声甚高的电子商务中,图像处理技术已在国家安全、经济发展、日常生活中充当越来越重要的角色 ,对人们的作用越来越大,比如身份认证、水印技术、产品防伪等。图像处理技术和图形学紧密结合在一起 ,形成了科学研究各个领域新型新的研究工具。目前,电视制作系统广泛使用的图像处理、变换、合成 ,多媒体系统中静止图像和动态图像的采集、压缩、处理、存 贮和传输等。 随着信息技术的不断发展,数字图像处理技术越来越多地被应用在航空航天、生物医学工程、工业检测、机器人视觉、军事制导和文化艺术等各个领域.图像处理日益成为一门引人注目、前景远大的学科,而 MATLAB 语言以强大的科学运算、灵活程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言便捷的接口功能,成为当今国际上科学界 尤其是自动控制领域 最具影响力、最有活力的软件. MATLAB 又称矩阵实验室,其强大的矩阵运算能力是其它语言无法比拟的,而矩阵运算正是图像处理的根本所在。 数字图像处理是一门从 70 年 代发展起来的涉及数学、物理学、光学、计算机科学、电子学等领域的综合性很强的边缘学科,随着计算机技术的飞速发展,已在通信、遥感、工业控制及生物医学等领域得到了广泛应用。作为电子信息专业的学生,必须了解图像处理的各种理论和实际应用,才能符合当前社会的要求。 3 第 2 章 图像编码与压缩研究 2.1 概述 介绍图像的压缩编码之前,需要搞清楚一个问题,那就是为什么需要解码与压缩显然,这是因为图像信息的数据量实在太大,不利于传输和存储。比如一张 A4 幅面的照片,若用中等分辨率( 300dpi)扫描仪按真 彩色扫描,则共有( 300 210/25.4)( 300 297/25.4)像素,若每个像素占据 3 字节,其数据量就为 36MB,其数据就为 26MB,其数据量之大可见一斑。 数字图像处理作为一门电子信启.基本原理和基本方法.包括图像增强、图像变换、图像恢复和重建、图像编码、图像分割、图像水印等内容。它是一门关于如何用计算机对图像进行处理的学科.强调编程实践和建立图像处理应用系统的方法。特别是编程能力有很高的要求。图像在计算机中表现为二维数据矩阵.难点是矩阵所涉及的各种变换与在信号原理中的对应关系.涉及到很多变化参 数,需要有很方便的交互手段。 MATLAB 作为一种基于向量的高级解释性程序语言,从本质上提供了对图像的支持,拥有便捷的交互环境,比其它基于标量的编译性语言如 C、 Fortran 等更适合对图像进行编程。而且, MATLAB 语言规则简单,编程特点贴近于工程技术人员的思维方式。编写程序犹如在纸上列公式求解。大大降低了编程的门槛,使得编程人员可以很容易地编写自己的程序。从而把主要的精力放在算法及问题本身上,而不是耗费在程序的编写调试上。同时, MATLAB 本身自带一个图像处理专用的工具箱函数库.库里有丰富的由图像处理领域里 的权威专家编写的函数可供直接调用.使得编程变得更加简单。 对于需要大量存储和传输视频图像的应用领域,如办公自动化、医学图像处理、卫星遥测系统、 HDTV 及多媒体综合信息服务系统等,迫切要求有效的方法来存储及传递这些图像文件。所以大量的图像信息会给存储器的存储内容、通信干线信息的带宽以及计算机的处理速度增加极大的压力。单纯靠增加存储器容量,提高信息道带宽以及计算机的处理速度等方法来解决这个问题已经很不现实,需要考虑图像的压缩与编码。图像之所以能够压缩,是因为存在大量的 冘 余信息。 通常情况下,图像的 冘 余信息可以分 为以下几类 ( 1)空间 冘 余。图像上各采样点的灰度,颜色之间往往存在空间连贯性,但是基本离散像素的表示方式通常没有利用图像物体之间的这种空间连贯性,从而产生了这种空间 冘 余可以通过改变像素存储方式,利用空间连贯性达到减少数据量的目的。比如。在图像中有一块表面颜色均匀的区域,在这个区域中所有像素的值都相同,则此数据就存在很大的空间 冘 余。 ( 2)时间 冘 余。这是由于序列图像相邻帧之间的相关性产生的,例如电视频信号以 25帧 /s 的速度拍摄,相邻帧图像内容变化不大。 ( 3)结构 冘 余。在有些图像的纹理区,图像的像素灰度值有 着明显的分布模式,如方格状的地板图案等,称此种为结构 冘 余。若已知像素值的分布模式,即可通过某一过程生成图像。 ( 4)知识 冘 余。对某些图像的理解与某些知识有相当大的相关性。例如,人脸的图像就有固定的结构。嘴上是鼻子,鼻子上面是眼睛等。这类规律性的结构可以由先验知识和背景知识得到,称此类为知识 冘 余。根据已有知识,对于某些图像中包含的物体,可以构造其基4 本模型,并创建对应各种特征的图像库,进而对图像的存储只要保持一些特征参数,从而可以大大减少数据量。只是 冘 余是模型编码主要利用的特性 ( 5)视觉心理 冘 余。由于人是各类 图像处理系统的最终接受和评价者,而人眼的视觉特点就会产生相应的视觉心理 冘 余。经过大量的实验发现,人类的视觉系统具有以下视觉非均匀特性。 视觉系统对图像的亮度和色彩度和色彩度的敏感性相差很大,随着亮度的增加,对量化误差的敏感度降低,同时,人眼的视觉系统是把图像的边缘和非边缘区域分来来处理,他总是把视网膜上的图像分解为若干个空间有向的频率通道后再进一步处理。这些视觉系统的特点带来的视觉 冘 余是有损压缩的理论基础。 从信息论的角度来看,压缩就是去掉信息中的 冘 余。通过压缩,可以在不降低图像视觉质量的情况下,减少图像的 数据量和存储空间,提高图像的传输速率。图像压缩是通过对图像信源进行编码,使编码数据流小于原始图像数据流,达到压缩的目的,所以研究图像压缩就是研究信源编码的问题。 压缩可分为两大类,第一类压缩过程是可逆的,也就是说,从压缩后的图像能够完全回复出原来的图像,信息没有任何丢失,称为无损压缩第二类压缩过程是不可逆的,无法完全回复出原来的图像,信息有一定的丢失,称为有损压缩。但研究选择哪一类压缩,要这种考虑,尽管都有希望能够无损压缩,但是通常有损压缩的压缩比无损压缩高。 图像压缩主要应用是图像信息的传输和存储,可广 泛地应用于广播电视、电视会议、计算机通信、传真、多媒体系统、医学图像和卫星图像等领域。 压缩编码的方法有很多,主要分成一下四大类 一熵编码 二预测编码 三变换编码 四其他方法 所谓熵编码,主要是指根据信息熵的理论,改变数据的表达结构来实现数据压缩。在此主要介绍熵编码的哈夫曼编码、香农编码和行程编码 所谓预测编码是指去掉相邻像素之间的相关性和 冘 余性,只对信的信息进行编码。比如在一片区域中,犹豫像素的灰度是连续的,所以相邻像素之间灰度值的差别可能很小,吐过只记录第一个像素的灰度,其他像素的灰度都用它与之前像素 灰度值的差表示,就能祈祷压缩的目的。比如 248, 2, 1, 2, 1, 3,实际上这留个像素的灰度是 248, 250, 251, 251, 252,255。表示 250 需要 8bit,而表示 2 只需要 2bit,这样就实现了压缩。 常用的预测编码有△调制、差分脉冲编码调制等。 所谓变化编码是指,将给定的图像变换到另一个数据域上,使得大量的信息能用较少的数据来表示,从而达到压缩的目的。变换编码方法比较多,比如离散傅里叶变换、离散余弦变换、离散哈达妈变换等。 其他编码的方法也有很多,比如混合编码、矢量量化等。 要注意的是,近些年来出现 了很多信的压缩编码犯法,如使用人工神经网络的压缩编码算法、分形、小波,基于对象的压缩编码算法、基于模型的压缩编码算法(用在 MPEG4 及未来的视频压缩编码标准中)等。 5 2.2 哈夫曼编码 哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如 JPEG中就应用了哈夫曼编码。 Huffman编 码在无失真的编码方法中效率优于其他编码方法,是一种最佳变长码,其平均码长接近于熵值。但当信源数据成分复杂时,庞大的信源致使 Huffman码表较大,码表生成的计算量增加,编译码速度相应变慢;另外不等长编码致使硬件译码电路实现困 难。上述原因致使 Huffman编码的实际应用受到限制。讨论了 Huffman编码的优缺点,其他熵编码方法可以在某些性能上克服 Huffman的不足。如,虽然算术编码的硬件实现比 Huffman编码方法复杂,但对于图像的编码结果表明,在信源符号概率接近的条件下,算术编码效率高与 Huffman编码。 哈夫曼树又称最优二叉树,是一种加权路径长度最短的二叉树。所谓树的加权路径长度,就是书中所有页节点的权值乘上其到根节点的路径长度,若根节点为 0 层,叶节点到根节点的路径长度为叶节点的层数,记为 WPL( W1 L1W2 L2 W3 L3 ? Wn Ln) ,表示 N 个权值Wi( i1, 2,?, n)。可以证明哈夫曼树的 WPL 是最小的。 哈夫曼编码是上世纪 50 年代初由哈夫曼提出的,它根据 字符出现的概率来构造平均长度最短的编码,是一种变长的编码,如果各码字长度严格按照码字所对应的符号出现概率大小的逆序排列,则编码的平均长度最小。需要说明的是,码字即为符号经过哈夫曼编码后得到的编码,其长度符号出现的概率而不同,因此是变长度的。 2.3 Shannon-Fano 编码 另外一种常用的变长编码是 Shannon-Fano 编码,这种编码有时 也可以得到最优编码性能。它的编码准则要符合非等长条件,在码字中 1 和 0 是独立的,而且是(或差不多是)等概率的。这样的准则一方面可以保证无需要间隔来区分码字,同事又保证每传输 1 位码就有 1 队的信息量。 为定义有效的代码表,设计了一个特定算法 Shannon-Fano 编码。编码就是根据该算法建立的。其主要准则是码字中, 1 与 0 是独立的,而且几乎是等概率的。实际算法如下 ( 1) 对于一个给定的符号序列,对应一个概率或频率记数序列,使每个符号的相对出现频率已知。 ( 2) 根据频率对符号进行排序,频率最高的在顶部,频率最低的在底部 。 ( 3) 将序列分成两部分,上半部分的频率之和和尽可能接近下半部分的频率之和。 ( 4) 序列的上半部分赋给二进制数字 0,而下半部分赋给二进制数字 1。 ( 5) 对于多分的两部分,分别重复使用第( 3)步和( 4)步,直到不能再分为止。具体实现如图 2.1 所示 6 符号 出现次数 编码 a 15 0 b 7 0 ?? ??????????????????????????????第一次划分 c 6 1 d 6 1 c 5 1 符号 出现次数 编码 a 15 00 ????????????????????????????????第二次划分 b 7 01 ???????????????????????????????? 第一次划分 c 6 10 ???????????????????????????????? 第三次划分 d 6 11 e 5 11 符号 出现次数 编码 a 15 00 ????????????????????????????????第二次划分 b 7 01 ???????????????? ???????????????? 第一次划分 c 6 10 ???????????????????????????????? 第三次划分 d 6 110 ???????????????????????????????? 第四次划分 e 5 111 图 2.1 Shannon-Fano 编码 由图 2.1 可知,出现频率高的字符在编码红只占有较少的位数,这显然是合理的,因为一个给定的字符的信息容量公式是字符出现的概率以 2 为底的对数的负值。 2.4 算术编码 前面已经说明哈夫曼编码使用整数个二进制位对符号进行编码,这种方法在许多情况下无法得到最优的压缩效果。假设某个字符的出现概率为 80,该字符事实上只需要 -log2( 0.8)0.322 位编码,但哈夫曼编码一定会为其分配一位 0 或一位 1 的编码。可以想象,整个信息的 80在压缩后都几乎相当于理想长度的三倍左右,压缩效果可想而知。 难道真的能只输出 0.3222 个 0 或者 0.322 个 1 吗算术编码就是实现了这样的编码,而且算术编码在图像数据压缩标准(如 JPEG、 264 等)中扮演了重要的角色。 在算术编码中,消息用 01 之间的实数进行编码,算术编码用到两个基本的参数符号的概率和它的编码间隔。信源符号的概率决定压缩编码的效率,也决定编码过程中的信源符
展开阅读全文
收藏
下载资源

加入会员免费下载





上海11选5 传奇私服