梁宇星071015139论文小波变换图像压缩

上传人:飞*** 文档编号:36898508 上传时间:2018-04-04 格式:DOC 页数:35 大小:2.05MB
返回 下载 相关 举报
梁宇星071015139论文小波变换图像压缩_第1页
第1页 / 共35页
梁宇星071015139论文小波变换图像压缩_第2页
第2页 / 共35页
梁宇星071015139论文小波变换图像压缩_第3页
第3页 / 共35页
梁宇星071015139论文小波变换图像压缩_第4页
第4页 / 共35页
梁宇星071015139论文小波变换图像压缩_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《梁宇星071015139论文小波变换图像压缩》由会员分享,可在线阅读,更多相关《梁宇星071015139论文小波变换图像压缩(35页珍藏版)》请在金锄头文库上搜索。

1、本科毕业论文基于小波变换的彩色图像压缩编码算法的MATLAB实现学 院: 计算机与信息工程学院专 业: 信息管理与信息系统学 号: 071015139姓 名: 梁宇星指导教师: 马莉莉职 称: 讲师论文提交日期:二一一年六月摘 要在信息技术高速发展的今天,图像以其直观,信息量大等优点逐渐成为通信技术与计算机系统中信息传输的重要载体之一。然而图像体积较大占据存储容量的问题依然存在,因为图像压缩编码便成为了信息存储中的一个重要课题。图像压缩的过程,就是用最少的数据来展现尽可能多的原始图像信息的过程。而小波变换作为当前数学中迅速发展的一个新领域而得到广泛推崇。在MATLAB中,图像压缩也是其应用领域

2、的一个重要方面。论文首先介绍了图像压缩编码的研究背景和论文的研究内容及结构安排,然后详细地从理论上介绍了图像压缩,并讲解了小波变换的由来、定义和特点,以及在分析中所涉及到的小波变换、二维小波变换。接着介绍了其研究工具MATLAB的组成和特点。通过小波变换的理论研究,应用MATLAB来实现了一般彩色图像的压缩。关键词:小波变换 图像压缩 彩色图像 MATLABAbstractWith the development of information technology, image,rich features of its information, has become in an importa

3、nt carrier of information transmission in the communications and computer systems. And as the image information occupy a large amount of storage capacity, the image compression has always been an important issue of the image storage.Image compression is a process using the amount of data at least as

4、 much as possible to show that the original image information. Wavelet Transform is a new welcomed field rapidly developing in present mathematics. In MATLAB, the image compression is a respect of its application. The research background of image coding and the research content and structure of this

5、 paper are introduced firstly. Then in terms of theory, we elaborate upon the image compression, the origin of the wavelet transform, the definition and the characteristics, and explain the wavelet transform, the two dimensional wavelet, which are involved in analyzing. This text has introduced its

6、research tool MATLAB and relevant composition and characteristics. Through the theoretical research of the Wavelet Transform, this paper use MATLAB to implement the compression.Key words: Wavelet transform Image compression Color image MATLAB目 录1 引言12 系统理论基础22.1 图像压缩22.2 小波变换22.2.1 小波变换的由来32.2.2 小波变

7、换的基本思想32.2.3 小波变换的特点52.2.4 常用的小波变换62.2.5小波变换在图像压缩中的应用92.2.6小波变换在图像处理中的其他应用-小波消噪处理102.3 其他重要理论113 系统设计123.1 设计思想123.2 MATLAB简介123.2.1 MATLAB小波工具箱123.2.2 MATLAB用户图形界面133.3 系统功能模块144 系统实现164.1 系统的使用方法164.2 重要代码的实现164.2.1打开图像164.2.2小波压缩低频信息保留压缩方法184.2.3二维小波压缩204.2.4小波消噪265 总结体会29致 谢30参 考 文 献3115内蒙古农业大学学

8、士学位论文1 引言随着多媒体信息时代的到来,需要对大量的数据进行处理,而存储空间和网络带宽常受到限制,所以面对具有大量数据的信息时,必须作相应的压缩处理。而小 波变换压缩编码以其压缩质量好、压缩比高、能弥补傅里叶变换等特点,在图像压缩等领域得到了广泛的关注和应用。一般来说,主要体现在以下几个方面:图像的分解和重构、图像压缩、图像消噪、图像增强、图像平滑、图像融合等。而这一方面的著作和学术论文也特别多。对于尺寸较大、质量较高的真彩色图像,图像压缩具有特殊重要的意义,它能够节省占用的存储资源空间。同时由于图像数据本身固有的冗余性和相关性,使得将一个大的图像数据文件转换成较小的图像数据文件成为可能。

9、因此,论文将主要研究彩色静止图像的压缩编码。本文首先对图像编码及小波变换图像编码进行了理论描述,然后利用MATLAB平台中的小波函数来做图像的压缩,说明了小波变换编码的可行性和优越性。2 系统理论基础2.1 图像压缩图像压缩即:在保证质量的前提下,通过减少图像中的各种冗余,用尽量少的比特数来表示图像信息。对数字图像进行压缩通常利用两个基本原理:一是数字图像的相关性,二是人的视觉心理特征。图像压缩编码过程遵循“图像变换量化熵编码”这三个处理环节,而这正是图像压缩编码技术的核心。图像编码的整个过程由以下三步来完成:(1)图像变换削弱甚至解除了图像信号内部的相关性,降低结构上的冗余度;(2)对图像的

10、数据进行量化,减少输入图像的心理视觉冗余;(3)熵编码生成一个固定的或可变长编码,用于表示量化器输出,然后将输出转化为与编码相一致的格式。2.2 小波变换 小波是定义在有限间隔而且其平均值为零的一种函数,它的波形如图1所示,它们是从许多使用比较广泛的小波中挑选出的几种一维小波。在波图示的小波中,缩放函数和小波函数的名称大多数是以开发者的名字命名的,例如 Moret 小波函数是Grossmann和Morlet 在 1984年开发的,db6缩放函数和 db6小波函数是Daubechies开发的几种小波之一。Haar小波函数 Moret小波函数 db6小波函数Mayer小波函数 sym6小波函数 c

11、oif2小波函数图1 部分小波2.2.1 小波变换的由来小波是近十几年才发展起来并迅速应用到图像处理和语音分析等众多领域的一种数学工具,是继110多年前的傅立叶(Joseph Fourier)分析之后的一个重大突破,它无论是对古老的自然学科还是新兴的高新技术应用学科都产生了强烈冲击,是国际科技界众多学术团体高度关注的前沿领域。由于傅里叶变换对瞬态或非平稳信号的局域特性无能为力,所以人们开始研究短时傅里叶变换,小波变换和一般的时频分布方法,用于分析信号的局域时频特性。小波变换(Wavelet Transformation, WT)是针对稳态傅里叶变换(Fourier Transformation

12、, FT)在分析非信号方面的局限性形成和发展起来的一种十分有效的时频分析工具。1909年哈尔(Alfred Haar)发现了小波,并被命名为哈尔小波(Haar wavelets)。20世纪70年代,当时在法国石油公司工作的年轻的地球物理学家Jean Morlet提出了小波变换 WT(wavelet transform)的概念。法国的科学家 Meyer于1986年创造性地构造出具有一定衰减性的光滑函数,他用缩放(dilations)与平移(translations)均为2j(j0)的整数)的倍数构造了L2(R)空间的规范正交基,使小波得到真正的发展。在信号处理中,自从 SMallat和Inrid

13、 Daubechies发现滤波器组与小波基函数有密切关系之后,小波在信号(如声音信号,图像信号等)处理中得到极其广泛的应用。该文试图从实验的角度出发,利用 MATLAB数学分析工具较为直观地探讨了小波变换在图像压缩中的应用。2.2.2 小波变换的基本思想小波变换的基本思想是用一组小波或基函数表示一个函数或信号,例如图像信号。以哈尔(Haar)小波基函数为例,基本哈尔小波函数(Haar wavelet function)定义如式(1): (1)设有一幅分辨率只有4个像素的一维图像,对应像素值为:9 7 3 5。用哈尔小波变换的过程是:计算相邻像素对的平均值(averaging,亦可称之为近似值a

14、pproximation),得到一幅分辨率为原图像1/2的新图像:8 4。这时图像信息已部分丢失,为了能从2个像素组成的图像重构出4个像素的原图像,必须把每个像素对的第一个像素值减这个像素的平均值作为图像的细节系数(detail coefficient)保存。因此,原图像可用下面的两个平均值和两个细节系数表示:8 4 1 -1。可以把第一步变换得到的图像进一步变换,原图像两级变换的过程如表1所示:表1 哈尔小波变换表分辨率平均值细节系数49 7 3 528 41 -1162哈尔变换过程事实上是用求均值和差值的方法对函数或图像进行分解,对于f(x)=9 7 3 5,最多可作2层的分解。对于2维图

15、像,同样可以用依次对行列进行小波变换得到2维图像的分解。这时经过一次小波变换得到是2维图像的近似值(CA)以及水平(CH)、垂直(CV)和对角(CD)细节分量值。显然,从2维图像的 CA、CH、CV 和 CD值可以重构出原来的2维图像。图2 小波图像变换过程小波变换(Wavelet Transformation, WT)是针对稳态傅里叶变换(Fourier Transformation, FT)在分析非信号方面的局限性形成和发展起来的一种十分有效的时频分析工具。小波变换(Wavelet Transformation, WT)采用不同尺度的分析方法,能在信号的不同部位得到最佳的时域分辨率和频域分

16、辨率,为非稳态信号的分析提供了一条新的途径。WT与FT相比,它是一个时间和频率的局域变换,因而能有效的从信号中提取信息,通过伸缩和平移等运算功能对信号进行多尺度细化分析(Multiscale Analysis),它克服了FT在频域完全局部化而在时域完全无局部性的缺点,对波动谐波、快速变化谐波的检测有很大优越性,目前是波动谐波、快速变化谐波的主要检测方法。但是WT并不能完全取代傅里叶变换,这是因为一方面WT在稳态谐波检测方面并不具备理论优势,另一方面WT的理论和应用研究时间相对较短,WT应用在谐波测量方面尚处于初始阶段,还存在着许多不完善的地方,例如缺乏系统规范的最佳小波基的选取方法,缺乏构造频

17、域行为良好,即分频严格、能量集中的小波函数以改善检测精度的规范方法。因此WT与FT存在互补的优势。2.2.3 小波变换的特点由图1可以看到,小波具有有限的持续时间和突变的频率和振幅,波形可以是不规则的,也可以是不对称的,在整个时间范围里的幅度平均值为零。由于其良好的空间频率局部化特征,小波变换在世纪的头像压缩应用中得到了广泛的应用。小波压缩的固有特征使它在图像处理中有以下优点:(1)多尺度分解提供了不同尺度下图像的信息,并且变换后的能量大部分集中在低频部分,便于对不同尺度下的小波系数分别设计量化编码方案,在提高图像压缩比的情况下保持好的视觉效果和较高的PSNR;(2)小波变换的完善重构能力,保

18、证了信号在分解过程中没有信息损失和冗余信息产生;(3)小波变换把头像分解为逼近影响和细节影响之和,分别代表了影响不同尺度和不同结构的信息,便于提取原始图像中的结构信息和细节信息;(4)小波变换具有快速算法;(5)二维小波分析为图像分析提供了与人类视觉系统方向特性相吻合的方向选择性。小波变换具有很大的灵活性,在理论上可以有无数个小波基可供选择,同时这也为小波变换的应用提出了一个难题,那就是如何正确选择小波基。在众多的小波中,选择什么样的小波对信号进行分析是一个至关重要的问题。使用的小波不同,分析得到数据也不同,这是关系到能否达到使用小波分析的目的问题。2.2.4 常用的小波变换(1)一维小波连续

19、变换傅立叶分析是把一个信号分解成各种不同频率的正弦波,因此正弦波是傅立叶变换的基函数。同样,小波分析是把一个信号分解成由原始小波经过移位和缩放之后的一系列小波,因此小波同样可以用作表示一些函数的基函数。可以说,凡是能够用傅立叶分析的函数都可以用小波分析,因此小波变换也可以理解为用经过缩放和平移的一系列函数代替傅立叶变换的正弦波。仔细观察图3所示的正弦波和小波可以发现,用不规则的小波来分析变化激烈的信号也许比用平滑的正弦波更有效,或者说对信号的基本特性描述得更好如图3所示。 (a)正弦波 (b)小波(db10) 图3 正弦波与小波图3分别是傅立叶分析与小波分析使用的基函数,数学上傅立叶分析的过程

20、实际上是用傅立叶变换式(2)表示, (2)傅立叶变换是信号 f(t)与复数指数e-jwt(e-jwt=cost+jsint)之积在信号存在的整个期间里求和。傅立叶变换的结果是傅立叶系数 F(),它是频率的函数。同样,连续小波变换(continuous wavelet transform ,CWT)用式(3)表示: (3) 小波变换是信号f(t)与被缩放和平移的小波函数之积在信号存在的整个期间里求和。CWT变换的结果是许多小波系数C,这些系数是缩放因子(scale)和位置(position)的函数。CWT的整个变换过程如图4所示。图4 连续小波变换CWT的过程小波变换完成之后得到的系数是在不同的

21、缩放因子下由信号的不同部分产生的。这些小波系数、缩放因子和时间之间的关系和它们的含义可以用图5(a)表示,该图是用MATLAB软件绘制的。图5(a)是用二维图像表示的小波变换分析图,y轴表示沿信号的时间方向上的位置,轴表示缩放因子,每个x-y点的颜色表示小波系数的幅度大小。图5(b)是用三维图像表示的小波变换分析图,轴表示小波变换之后的系数。(a) 二维图(b) 二维图图5 小波系数、缩放因子和时间之间的关系(2)二维小波变换二维小波系数分解过程可用图6所示的电路结构来实现。图6中,下标x表示对矩阵沿行方向进行滤波,下标y表示对矩阵沿列方向进行滤波。由于h具有低通性质,g具有高通性质,图像数据

22、可看成一个二维离散信号,经过一次分解后得到的4部分输出分别经过了不同的滤波器,代表了原始矩阵的不同信息。其中,经过行和列两个方向的低通,对应了原始离散图像在下一尺度上的概貌,经过了行方向上的高通、列方向上的低通,对应于水平方向的细节信号在垂直方向的概貌,相应的,表示是原始图像垂直方向的细节信号在水平方向的概貌,表示的是沿对角线方向的细节。图像经过一次小波变换后,总的输出数据量没有减少,但是图像信息按照频率信息不同,将各分量进行了重排,便于量化处理和编码。这就是著名的Mallat快速算法,它把小波分解与多采样滤波器组联系起来,并且符合人体视觉系统对各频段的视觉敏感特性。若将一次小波分解出的概貌部

23、分继续进行小波分解,就可以得到原始图像在不同尺度上的细节和概貌,形成小波分解的金字塔结构,如图7所示。 2 2hy(-k)hx(-k) 2gy(-k) 2hy(-k) 2gx(-k) 2gy(-k)图6 二维小波系数分解过程LL3HL3HL2HL1LH3HH3LH2HH2LH1HH1图7 小波分解的金字塔结构2.2.5小波变换在图像压缩中的应用小波变换是20世纪最辉煌科学成就之一,是一种全新的变换技术,其最早应用在地震数据压缩中,以后在图像处理、故障诊断等方面取得了传统方法根本无法达到的效果。现在小波分析已经渗透到了自然科学、应用科学等方面,成为国际研究热点。目前小波分析在计算机应用、信号处理

24、、图像分析、非线性科学、地球科学和应用技术等均已有重大突破。在图像处理中,小波分析的应用是很成功的,而这一方面的著作和学术论文也特别多。二进小波变换用于图像拼接和镶嵌中,可以消除拼接缝; 利用正交变换和小波包进行图像数据压缩,可望克服由于数据压缩而产生的方块效应,获得较好的压缩效果;利用小波变换方法可进行边缘检测、图像匹配、图像目标识别及图像细化等。在图像压缩领域,小波变换得到了实际的应用,并取得了很好的效果。小波变换用于图像压缩的基本思想就是把图像进行多分辨率分解,分解成不同空间、不同频率的子图像,然后再对子图像进行系数编码。系数编码是小波变换用于压缩的核心,压缩的实质是对系数的量化压缩。图

25、像经过小波变换后生成的小波图像的数据总量与原图像的数据量相等,即小波变换本身并不具有压缩功能。之所以将它用于图像压缩,是因为生成的小波图像具有与原图像不同的特性,表现在图像的能量主要集中于低频部分,而水平、垂直和对角线部分的能量则较少;水平、垂直和对角线部分表征了原图像在水平、垂直和对角线部分的边缘信息,具有明显的方向特性。低频部分可以称为亮度图像,水平、垂直和对角线部分可以称为细节图像。人眼对亮度图像部分的信息特别敏感,对这一部分的压缩应尽可能减少失真或者无失真。近年来小波变换的数学理论和方法越来越引起人们的重视。因为小波变换具有频率分析和尺度分析的双重特性,每级分解后能量集中于低频子带等优

26、点,运用小波变换进行图像压缩编码成为一个研究热点。对灰度图像相应也出现了多种编码方法,如零树编码和矢量量化编码等,而对彩色图像的编码则研究相对较少。而且,与传统纯频域分析的傅里叶方法不同,小波变换是一种时频分析方法,它在时频和域频同时具有良好的局部化性质。小波变换对于不同的频率成分在时域上的取样步长是调节性的,高频者小、低频者大,因此在实际应用中完全可以根据需要将图像或信号分解到一些合适的尺度成分上,然后再根据不同的要求作适当的编码。因此,小波变换是一种能够获得较好图像复原质量与压缩比的、能够适应未来发展的变换技术,已经成为当今图像压缩编码的主要研究方向。2.2.6小波变换在图像处理中的其他应

27、用-小波消噪处理由于图像是二维信号,在应用小波变换对图像进行消噪处理只采用二维小波变换。图像消噪的主要目的是在平滑噪声的同时尽可能地保留原始图像的重要特征。与传统技术相比,小波分析在此方面有很大的优越性。二维小波分析用于图像消噪主要有3个步骤: (1)二维图像信号的小波分解在这一步,应当选择合适的小波和恰当的分解层次(记为N),然后对待分析的二维图像信号X进行N层分解计算。 (2)对分解后的高频系数进行阈值量化对于分解的每一层选择一个恰当的阈值,并对该层高频系数进行软阈值量化处理。在此,阈值选择规则同前面的信号处理部分。 (3)二维小波的重构图像信号同样,根据小波分解后的第N层近似(低频系数)

28、和经过阈值量化处理后的各层细节(高频系数),来计算二维信号的小波重构。在这三步中,重点内容仍然是如何选取阈值和任何进行阈值量化这个步骤。2.3 其他重要理论MATLAB图像处理工具箱支持四种基本图像类型: 索引图像、灰度图像、二进制图像和RGB图像。MATLAB直接从图像文件中读取的彩色图像为RGB 图像。它存储在三维数组中。这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue) 三种颜色,而面中的数据则分别是这三种颜色的强度值,面中的元素对应于图像中的像素点。由于MATLAB小波工具箱只能处理索引图像,对于非索引的真彩色RGB 图像, 就要将其转换成索引图像。通常情况

29、下,MATLAB 使用rgb2gray () 函数完成这一任务:X= rgb2gray (Y) ;而在本研究中我们利用了两种不同颜色空间的转换实现非索引的真彩色RGB 图像向灰度级索引图像的变换。对于以表示的彩色图像,由于这三个分量之间高度相关,不利于进行图像压缩,因此我们把图像转换到YIQ颜色空间来表示。其中,Y代表亮度信号,I 和Q代表色度信号,它们之间是不相关的,故可以把图像分解成IY、II和IQ三个数据块分别进行处理。由RGB到YIQ颜色空间的转换可以通过下式(7)来实现: (7)然后在这三个分量中分别施行4层小波变换, 得到图像的塔型分解(如图7所示)。由于I、Q分量所包含的信息量小

30、于Y分量,而且人眼对于I、Q表示的色度信号的敏感程度小于Y分量所代表的亮度信号,我们可以丢弃一些I、Q分量的小波变换域内高分辨率的细节子图,而不会对重建图像的质量产生重大的影响,但可以提高压缩效率。而对分量,我们保留全部的子图。然后可根据情况采用不同的小波函数,进行索引图像的分解压缩。3 系统设计3.1 设计思想我的设计思想是利用MATLAB设计一个图形用户界面(GUI),利用小波变换实现图像的压缩处理,同时设计一个小波消噪处理,与小波变换压缩编码进行对比。3.2 MATLAB简介MATLAB是由美国Math Works公司在1984年推出的用于数值计算和图形处理的科学计算软件,它集数值分析、

31、矩阵计算、信号处理和图形显示多种功能于一体,构成了一个方便的界面友好的用户环境。历经十几年的发展,现已成为国际公认的最优秀的科技应用软件。 该软件有三大特点:一是功能强大。具有数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算等功能;二是界面友善、语言自然。MATLAB以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近;三是开放性强。Math Works公司本身就推出了30多个应用工具箱,而世界上超过200家公司开发出与MATLAB兼容的第三方产品,这些产品向用户提供更多的工具箱、模块集、与其他商业产品的接口等。MATLAB的这些特点使它获得了对应用学科(特

32、别是边缘学科和交叉学科)的极强适应力,并很快成为应用学科计算机辅助分析、设计、教学,乃至科技文字处理、科学图像处理不可缺少的基础软件。 3.2.1 MATLAB小波工具箱MATLAB中的小波工具箱(Wavelet Toolbox)是许多基于MATLAB技术计算环境的函数包的集合。它应用MATLAB体系下的小波和小波包,提供了分解及重构信号、图像的多种工具。工具箱中包含的各种小波分析函数,可用于对信号与图像的压缩处理,压缩后能保持信号与图像的特征基本不变,压缩比高,压缩速度快,且在传递过程中具有抗干扰能力。MATLAB与图像压缩基于小波分析的图像压缩方法很多,包括低频信息保留压缩、小波包最佳基方

33、法、小波域纹理模型方法、小波变换零树压缩、小波变换向量量化压缩等。本论文需要用到的几种方法的原理与实现过程包括低频信息保留压缩、小波包最佳基方法、小波变换向量量化压缩;同时利用小波消噪处理来理解小波变换的广泛应用。本论文的程序中使用的MATLAB 函数包括: (1) wavedec2为多尺度二维小波分解即二维多分辨分析函数,完成对信号X在尺度N 上的二维分解。(2) appcoef2 :提取二维小波分解低频系数,该函数是一个二维小波分析函数,它主要用于从多尺度二维小波分解的分解结构中提取二维信号的低频系数,从某种意义上说,它常常和Wavedec2 函数配套使用。(3) detcoef2 :提取

34、二维小波分解高频系数,它与appcoef2 函数相对应,用来从分解结构中提取二维小波变换的高频系数, 它也是常常和Wavedec2 函数配套使用的。(4) wrcoef2 :对二维小波系数进行单支重构。该函数是对二维信号的分解结构用指定的小波函数或重构滤器进行重构。(5) wcodemat :对矩阵进行量化编码。当选中参数mat时,进行全局编码,全体矩阵元素依绝对值大小在整个矩阵中进行排列。经过量化编码后的图像比原来的图像在颜色对比上要变得柔和一些。3.2.2 MATLAB用户图形界面 用户界面是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息

35、的接口。 MATLAB中的图形用户界面(Graphical User Interfaces ,GUI)是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。用户图形界面(GUI)是程序的图形化界面。一个好的GUI 能够使程序更加容易使用。它提供用户一个常见的界面,还提供一些控件,例如,按钮,列表框,滑块,菜单等。用户图形界面应当是易理解且操作是可以预告的,所以当用户进行某一项操作,它知道如何去做。例如,当鼠标在一个按钮上发生了单击事件,用户图形界面初始化它的操作

36、,并在按钮的标签上对这个操作进行描述。GUI是实现人机交互的中介,可以通过它实现数据输入、处理和输出。MATLAB提供了一个专门的GUI界面设计工具GUIDE,使用该工具,可以快速完成GUI设计任务:(1)输出GUI;(2)使用GUIDE输出编辑器,可以通过单击和拖拉GUI组件很容易地创建GUI;(3)GUI编程;(4)GUIDE自动生成一个控制GUI如何操作的M文件,该M文件初始化GUI并包含一个所有GUI回调(用户单击GUI组件时执行的命令)的框架,使用M文件编辑器,可以向回调中添加代码,运行相关函数。在本论文中利用了MATLAB设计了一个非常方便我们操作实验的用户图形界面。如下图8所示:

37、图8 “压缩图像”用户图形界面3.3 系统功能模块根据用户操作需求,将系统划分如下,并对模块的划分及功能进行描述。该系统的模块主要分为两个部分,一是图像操作模块,二是图像显示模块。模块图如图9所示:小波图像处理系统图像操作图像显示打开图像小波压缩小波消噪AXES轴系模块FIGURE模块图9 系统功能模块图像操作模块主要实现了打开图像,退出系统;压缩图像小波压缩,二维小波压缩;小波变换其他应用小波消噪处理。图像显示模块主要有两种,分为三部分,第一部分是原始图像展示区,第二部分是小波压缩图像展示区,第三部分是其他压缩方法及小波变换其他应用图像展示区。4 系统实现4.1 系统的使用方法打开MATLA

38、B,运行程序,即可进入到如图8所示“小波变换的图像压缩”界面。4.2 重要代码的实现 4.2.1打开图像代码:global img_src; filename, pathname = uigetfile( . *.bmp;*.jpg;*.png;*.jpeg, 图片格式 (*.bmp, *.jpg, *.png, *.jpeg); . *.*, 全部文件 (*.*), . 请选择一张图片);if isequal(filename,0) | isequal(pathname,0) return;endaxes(handles.axes5);fpath=pathname filename;img_

39、src=imread(fpath);imshow(img_src);title(原始图像);进入图像压缩界面(图8)后,点击“打开图像”按钮,即会显示出如图10所示界面;然后选择一幅图片,“确定”即可实现打开图像,进入如图11所示界面。图10 进入“打开图像”界面图11 图像打开后的界面4.2.2小波压缩低频信息保留压缩方法代码:global img_src; L=img_src;L=double(L);Xrgb=0.2990*L(:,:,1)+0.5870*L(:,:,2)+0.1140*L(:,:,3);NbColors=255;X=wcodemat(Xrgb,NbColors);map1

40、=gray(NbColors);axes(handles.axes1);image(X);colormap(map1);title(原图像的灰度图);axis square;disp(灰度图像X的大小);whos(X)%对图像用bior3.7小波进行两层小波分解c,s=wavedec2(X,2,bior3.7);%提取小波分解结构中第一层的低频系数和高频系数ca1=appcoef2(c,s,bior3.7,1);ch1=detcoef2(h,c,s,1);%水平方向cv1=detcoef2(v,c,s,1);%垂直方向cd1=detcoef2(d,c,s,1);%斜线方向%分别对各频率成分进行

41、重构a1=wrcoef2(a,c,s,bior3.7,1);h1=wrcoef2(h,c,s,bior3.7,1);v1=wrcoef2(v,c,s,bior3.7,1);d1=wrcoef2(d,c,s,bior3.7,1);c1=a1,h1;v1,d1;%显示分解后各频率成分的信息axes(handles.axes2);image(c1);colormap(gray);axis square;title(分解后低频和高频信息);ca1=appcoef2(c,s,bior3.7,1);ca1=wcodemat(ca1,440,mat,0);ca1=0.5*ca1;disp(第一次压缩后图像的

42、大小为:);axes(handles.axes3);image(ca1);colormap(gray);%colormap(map);axis square;title(第一次压缩图像);whos(ca1)ca2=appcoef2(c,s,bior3.7,2);ca2=0.25*ca2;axes(handles.axes4);image(ca2);colormap(gray);%colormap(map);axis square;title(第二次压缩图像);disp(第二次压缩后图像大小为:);whos(ca2)进入到图11所示界面,想要进行小波压缩,就点击框中的“小波压缩”按钮,系统即会进

43、行相应的操作,实现对所选图像的小波压缩变换,如图12。图12 “小波变换”实现界面结果分析:原图像文件是一幅RGB彩色图像,根据“MATLAB小波工具箱只能处理索引图像,对于非索引的真彩色RGB 图像”,我们必须将此图转换为灰度图像。转换后的灰度图像大小为1800000 B,第一次压缩后生成文件大小为476992 B,压缩比为74%;第二次压缩后生成文件大小为133824 B,压缩比为93%。可以看出,第一次压缩是提取原始图像中小波分解第一层的低频信息,此时压缩效果较好,压缩比较小,第二次压缩是提取第一层分解低频部分的低频部分,即小波分解第二层的低频部分,其压缩比较大,压缩效果在视觉上也基本上

44、过得去。这种保留原始图像中低频信息的压缩方法是一种最简单的压缩方法,它不需经过其它处理即可获得较好的压缩效果。从理论上说,我们可以获得任意压缩比的压缩图像。4.2.3二维小波压缩代码:global img_src; H=img_src;H=double(H);Grgb=0.2990*H(:,:,1)+0.5870*H(:,:,2)+0.1140*H(:,:,3);NbColors=255;G=wcodemat(Grgb,NbColors);map2=gray(NbColors);figure(name,原图像的灰度图);image(G);colormap(map2);disp(原图像的灰度图大

45、小:);whos(G)%转换成为灰度级索引图像CA1,CH1,CV1,CD1=dwt2(G,bior3.7);%从分解系数中提取近似和细节CA1,CH1,CV1,CD1=dwt2(G,bior3.7);A1=upcoef2(a,CA1,bior3.7,1);H1=upcoef2(h,CH1,bior3.7,1);V1=upcoef2(v,CV1,bior3.7,1);D1=upcoef2(d,CD1,bior3.7,1);%显示近似和细节figure (name,近似分量A1);colormap(map2);subplot(2,2,1);image(wcodemat(A1,192);title

46、(近似A1);subplot(2,2,2);image(wcodemat(H1,192);title(水平细节H1);subplot(2,2,3);image(wcodemat(V1,192);title(垂直细节V1);subplot(2,2,4);image(wcodemat(D1,192);title(对角细节D1);disp(近似A1大小:);whos(A1)%对图像进行多尺度分解C,S=wavedec2(G,2,bior3.7);%提取分解后的近似和细节系数CA2=appcoef2(C,S,bior3.7,2);CH2,CV2,CD2=detcoef2(all,C,S,2);CH1,

47、CV1,CD1=detcoef2(all,C,S,2);%从系数C重构第二层近似A2=wrcoef2(a,C,S,bior3.7,2);H1=wrcoef2(h,C,S,bior3.7,1);V1=wrcoef2(v,C,S,bior3.7,1);D1=wrcoef2(d,C,S,bior3.7,1);H2=wrcoef2(h,C,S,bior3.7,2);V2=wrcoef2(v,C,S,bior3.7,2);D2=wrcoef2(d,C,S,bior3.7,2);%显示多尺度分解的结果figure (name,多尺度分解后的近似与细节);colormap(map2);subplot(2,4

48、,1);image(wcodemat(A1,192);title(近似A1);subplot(2,4,2);image(wcodemat(H1,192);title(水平细节H1);subplot(2,4,3);image(wcodemat(V1,192);title(垂直细节V1);subplot(2,4,4);image(wcodemat(D1,192);title(对角细节D1);subplot(2,4,5);image(wcodemat(A2,192);title(近似A2);subplot(2,4,6);image(wcodemat(H2,192);title(水平细节H2);sub

49、plot(2,4,7);image(wcodemat(V2,192);title(垂直细节V2);subplot(2,4,8);image(wcodemat(D2,192);title(对角细节D2);disp(近似A2大小:);whos(A2)%从多尺度分解后的系数重构原始图像并显示结果G0=waverec2(C,S,bior3.7);figure (name,多尺度分解后的系数重构原始图像);image(G0);colormap(map2);colorbar;disp(重构图像的大小:);whos(G0)同样,想要进行二维小波压缩,就点击框中的“二维小波”按钮,系统即会进行相应的操作,实现

50、对原图像的二维小波变换,弹出如图13,图14,图15和图16所示四个FIGURE图像显示面框,分别显示出“原图像的灰度图”、“近似分量A1” 、“多尺度分解后的近似与细节”和“多尺度分解后的系数重构原始图像”。图13 原图像的灰度图 图14 二维小波压缩中近似分量A1图15 多尺度分解后的近似与细节图16 多尺度分解后的系数重构原始图像结果分析:进行二维小波压缩后,我们在MATLAB的COMMAND WINDOW中我们可以看到如下数据:原图像的灰度图大小: Name Size Bytes Class G 450x500 1800000 double arrayGrand total is 22

51、5000 elements using 1800000 bytes近似A1大小: Name Size Bytes Class A1 478x528 2019072 double arrayGrand total is 252384 elements using 2019072 bytes近似A2大小: Name Size Bytes Class A2 450x500 1800000 double arrayGrand total is 225000 elements using 1800000 bytes重构图像的大小: Name Size Bytes Class G0 450x500 180

52、0000 double arrayGrand total is 225000 elements using 1800000 bytes4.2.4小波消噪代码:global img_src;A=img_src;A=double(A);Brgb=0.2990*A(:,:,1)+0.5870*A(:,:,2)+0.1140*A(:,:,3);NbColors=255;B=wcodemat(Brgb,NbColors);map3=gray(NbColors);figure(name,小波消噪)subplot(2,2,1);image(B);%colormap(map3);title(原始图像灰度图);

53、axis square;%生成含噪图像并图示init=2055615866;randn(seed,init);BB=B+8*randn(size(B);subplot(2,2,2);image(BB);colormap(map3);title(含噪图像);axis square;%对图像进行消噪处理%用小波函数coif2对图像进行2层分解cc,dd=wavedec2(BB,2,coif2);n=1,2;%设置尺度向量p=10.28,24.08;%设置阈值向量%对三个高频系数进行阈值处理nc=wthcoef2(h,cc,dd,n,p,s);nc=wthcoef2(v,cc,dd,n,p,s);n

54、c=wthcoef2(d,cc,dd,n,p,s);B1=waverec2(nc,dd,coif2);subplot(2,2,3);image(B1);colormap(map3);title(第一次消噪后的图像);axis square;%再次对三个高频系数进行阈值处理mc=wthcoef2(h,nc,dd,n,p,s);mc=wthcoef2(v,nc,dd,n,p,s);mc=wthcoef2(d,nc,dd,n,p,s);%对更新后的小波分解结构进行重构并图示结果B2=waverec2(mc,dd,coif2);subplot(2,2,4);image(B2);colormap(map

55、3);title(第二次消噪后的图像);axis square;想要进行小波消噪处理,点击框中的“小波消噪”按钮,系统即会进行相应的操作,实现对原图像的小波消噪处理,如图17所示。图17 小波消噪处理5 总结体会从系统实现结果对比中可以发现,应用小波变换进行图像压缩时,在理论上可以获得最好的压缩效果,且实现起来也较为简单,而利用小波包分析进行图像压缩时,随着所选用的分解小波、分解层次和量化阈值的不同且实现起来也很简单。小波变换用于信号与图像压缩是其应用的一个重要方面,它克服了传统压缩方法的不足,具有压缩比高、压缩质量好、压缩速度快、抗干扰等特点。但是小波变换用于图像数据压缩时需要考虑的几个问题

56、,任何实正交的小波对应的滤波器组都可以实现图像的分解与合成,但是并不是任何分解都能满足所须的要求,同一幅图像,用不同的小波基进行分解所得到的压缩效果是不一样的。伴随着互联网、多媒体以及视频技术等的高速发展,图像压缩的前景十分广阔,小波变换也越来越深得研究者的关注,相信随着小波理论在图像压缩中更深层次的研究,图像压缩技术会越来越成熟。致 谢毕业设计从程序的初步思路、编写到程序的最终运行,论文的写作、修改到最后的定稿得到了我的指导老师的悉心指导,倾注了指导老师大量的心血。特别是她多次询问程序编写进度以及论文写作情况,并指点迷津,帮助我开拓思路,精心点拨。指导老师渊博的专业知识,严谨的治学态度,精益

57、求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我产生的深远的影响。不仅让我掌握了基础的研究方法,树立了远大的目标,还使我明白了与多人与人处事的道理。在此,谨向我的指导老师表示我最崇高的敬意与衷心的感谢!此外,还要感谢在大学这四年里所有帮助过我的人,感谢计算机与信息工程系学院的各位老师在学习上的指导点拨。同时,也要感谢在论文写作中帮助过我的在这大学四年里共同奋斗过的我的同学们,正是因为有你们在身边,毕业设计才可以顺利并愉快的完成,感谢你们,我的朋友们!谢谢!参 考 文 献1 王正林,刘明. 精通MATLAB 7 M. 北京:电子工业出版社,200

58、62 姚敏. 数字图像处理M. 北京:机械工业出版社,20063 张娇. 基于小波变换对彩色图像压缩编码和分级传输D.上海:上海交通大学,19994 王家文,李仰军. MATLAB7.0图形图像处理M.北京:国防工业出版社,20065 苏金明,王永利. MATLAB 7.0实用指南M.北京:电子工业出版社,20046 林雪松, 周婧林, 德新. MATLAB 7.0应用集锦 M. 北京:机械工业出版社,20067 王家文, 王皓, 刘海. MATLAB7.0编程基础M. 北京:机械工业出版社,20058 沈连丰,梁大志.蓝牙系统及其发展J. 半导体技术,2000,(6):1-49 罗军辉, 冯

59、平.MATLAB 7.0在图像处理中的应用M. 北京:机械工业出版社,200510 许波, 刘征. MatLab 工程数学应用M. 北京:清华大学出版社, 200011 崔锦泰著美, 程正兴译. 小波分析导论M. 西安:西安交通大学出版社, 199812 孙祥, 徐流美, 吴清. MATLAB 7.0基础教程M. 北京:清华大学出版社,200513 谢永华,傅德胜. 基于小波变换的多源遥感图像的信息融合J. 遥感技术与应 用,2001,16(4),55-6214 罗军辉. MATLAB 7.0 在数字信号处理中的应用M. 北京:机械工业出版社,200515 Maria Petrou 英Pana

60、giota Bosdogianni 希. 数字图像处理疑难解析M. 北京:国防工业出版社,200516 王慧琴. 数字图像处理M. 北京:北京邮电大学出版社. 200617 丁贵广, 何耀华, 郭宝龙. 适于硬件实现的零树编码算法J. 小型微型计算机系统, 2003, 24 (7):1380138218 SAID A, PEARLMAN W A. A new fast, and efficient image code based on set partitioning in hierarchical t reesJ. IEEE Trans on Circuits and Systems for Video Tech. 1996,6(3):243-25019 李晓春,陈京. 基于小波变换的图像融合算法研究J. 遥感技术与应用, 2003:18(1).20陈德军,盛翊智,陈绵云. 基于数据仓库的融合式DSS结构的研究J. 华中科技大学学报, 2000:30(11)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号