《利用MATLAB仿真软件系统进行图像变换域分析_课程设计(20页).doc》由会员分享,可在线阅读,更多相关《利用MATLAB仿真软件系统进行图像变换域分析_课程设计(20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-利用MATLAB仿真软件系统进行图像变换域分析_课程设计-第 18 页课程设计任务书题 目: 利用MATLAB仿真软件系统进行图像变换域分析初始条件:装有matlab的pc机一台要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)利用MATLAB仿真软件进行图像的变换域分析。要求:读取图像并求图像的奇异值(SVD)分解、正交分解(QR)、离散余弦变换(DCT)、离散傅利叶变换(DFT),小波变换(DWT),并保存和显示变换后的图像。课程设计进度安排:1.方案设计1天2.软件设计2天3.系统调试1天4.答辩1天指导教师签名: 年 月 日系主任(或责任教师)签名:
2、年 月 日目录摘 要2Abstract31 matlab基本操作41.1 基础知识41.2 图像的读取及程序42 matlab图像操作62.1 图像的奇异值分解62.1.1 奇异值分解理论知识62.1.2程序及运行结果62.2 图像的正交分解92.2.1 正交分解理论知识92.2.2 程序及运行结果92.3图像的离散余弦变换102.3.1离散余弦变换理论基础102.3.2 程序及运行结果112.4图像的离散傅利叶变换122.4.1离散傅利叶变换理论基础122.4.2程序及运行结果142.5图像的小波变换152.5.1小波变换的理论基础152.4.2程序及运行结果18三 收获、体会和建议21四
3、参考文献23 摘 要MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。MATLAB是一种向量语言,非常适合于图像处理,其自带的数字图像处理工具箱包括15类函数,支持四种图像类型,并可相互转换,ATLAB可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD等格式。本文介绍了MATLAB语言的特点以及图像处理工具箱实现的经
4、典图像处理技术。总体介绍了,对图像的基本操作,以及对图像进行FFT变换,DCT变换,SVD变换,QR变换,小波变换等。通过对一副图像通过MATLAB的图像工具箱箱中imread;imshow;subplot;figure等基本图像处理函数以及fft; fft2; dct; dct2; svd; qr;wavedec2等图像矩阵变换函数,进行处理,能大致基本展示MATLAB对图像处理方面的强大功能。并且通过本次课程设计,掌握了这款软件的基本操作,其图像工具栏的基本函数,以及对图像进行的一些增强操作等。 AbstractMATLAB language is introduced by the Un
5、ited States MathWorks, computer software, after years of gradual development and continuous improvement, which has become internationally recognized as the best scientific computing and mathematical application, one at home and abroad in recent years widespread a kinds of scientific visualization so
6、ftware. It combines numerical analysis, matrix computation, signal processing and graphical display on the whole, constitute a convenient, user-friendly user environment, but also has the scalability characteristics. MATLAB is a vector language is very suitable for image processing, its built-in dig
7、ital image processing toolbox, including 15 class functions in support of four kinds of image types, and can be interchangeable, ATLAB operable image files, including BMP, HDF, JPEG , PCX, TIFF, XWD and other formats. This article describes the characteristics of the language of the MATLAB image pro
8、cessing toolbox to achieve the classic image processing technology. Presented an overview on the basic operation of the image, as well as images FFT transform, DCT transform, SVD transform, QR transform, wavelet transform. Through an image through the MATLAB image toolbox box imread; imshow; subplot
9、; figure the basic image processing functions and fft; fft2; dct; dct2; svd; qr; wavedec2 other image matrix transformation functions for processing, can be roughly demonstrate the basic aspects of MATLAB for image processing power. And through this curriculum design, and mastered the basic operatio
10、n of this software and its basic function of the image toolbar, as well as a number of images to enhance operations and so on.1 matlab基本操作1.1 基础知识 Matlab中基本变量都是以矩阵的形式保存的。一幅图像即是一个二维的矩阵。变量名区分大小写,如a和A表示两个不同的变量。图像I中第i行第j列的像素用I(i,j)表示,其中行号和列号都从1开始计数。要了解更多关于Matlab的基本知识,可看Matlab help下的Matlab目录。 本实验可能用到的mat
11、lab函数有:zeros,imwrite,imread,imshow,FFT2,abs,log,min,max,查询具体的函数用法可以在Matlab help中查找,或在Matlab command window中打(空格) 函数名。 在Matlab command window中的命令在打回车后直接执行。也可以在m-file editor中编写程序,存盘为.m文件后,按Debug菜单下的Run,自动逐条执行命令。Debug菜单下还提供了设置断点逐行执行等调试命令。做本实验时可先在command window中熟悉Matlab命令与函数,最后所有命令应保存在一个m文件中,便于检查和调试。 每次
12、画图前可用figure命令新开一个图像窗口,否则前一次显示的图像会被新的图像覆盖。也可用figure(n)命令规定当前图像窗口序号。1.2 图像的读取及程序 在编辑窗口中,如下编辑M文件,%表示注释部分:%清除MATLAB中所有的工作平台变量,关闭打开的图形窗口clear;close all;I=imread(C:UsersAdministratorPictures002.jpg); %读取一张图像到Ifigure; imshow(I); %调用函数显示导入的图像 在命令窗口中运行函数,可得到figure的运行结果了所选的图片,如图1-1所示。 图1-1 2 matlab图像操作2.1 图像的
13、奇异值分解2.1.1 奇异值分解理论知识 定义1 :对于矩阵,有个标量满足: (公式2-1)则称这一组为矩阵唯一的特征值. 定义2 如果存在这样一个的向量,有: (公式2-2)则称为的与特征值对应的一个特征向量. 一共有个特征向量.定义3 (矩阵奇异值分解) 矩阵的奇异值分解(Singular Value Decomposition,简称SVD)是矩阵所固有的特征,设矩阵,那么矩阵的奇异值分解定义如下: (公式2-3)其中,和是正交矩阵,其列向量分别为和;U,V分别称为矩阵A的左奇异矩阵和右奇异矩阵;D是对角阵;称作矩阵的奇异值,此处是或的特征值的正平方根,满足。 矩阵奇异值具有很好的稳定性,
14、当矩阵A有微小振动时,其奇异值的改变不会大于振动矩阵的2范数。若矩阵奇异值经过归一化处理,则可实现奇异值的比例不变性。另外,矩阵奇异值还具有旋转不变性,因此,奇异值能有效地反映矩阵的特征,在图像处理中能表现图像的代数特性。2.1.2程序及运行结果I=imread( C:UsersAdministratorPictures002.jpg );II=rgb2gray(I); %将图像转换为灰度图像A=im2double(II)U,S,V=svd(A) %对图像做svd分解SN=U*S*V; %SN等价于原图像SM=U*S*V%subplot(1,6,1); %建立子图imshow(II);subp
15、lot(1,6,2);imshow(U)subplot(1,6,3)imshow(S)subplot(1,6,4)imshow(V)subplot(1,6,5)imshow(SM)subplot(1,6,6)imshow(SN); 运行结果如图2-1所示,各图像依次为原图像转换为灰度图后的图像,矩阵U等价的图像,矩阵S等价的图像,矩阵V等价的图像 ,矩阵SM等价的图像,矩阵SN等价的图像。图2-1a svd变换后运行结果从左至右依次为:原图像转换为灰度图后的图像,矩阵U等价的图像,矩阵S等价的图像图2-1b svd变换后运行结果从左至右依次为:矩阵V等价的图像,矩阵SM等价的图像,矩阵SN等价
16、的图像2.2 图像的正交分解2.2.1 正交分解理论知识 实数矩阵 A 的 QR 分解是把 A 分解为 (公式2-4)这里的 Q 是正交矩阵(意味着 QTQ = 1)而 R 是上三角矩阵。类似的,我们可以定义 A 的 QL, RQ 和 LQ 分解。 更一般的说,我们可以因数分解复数 mn 矩阵(有着 m n)为 mn 酉矩阵(在 QQ = 1的意义上)和 nn 上三角矩阵的乘积。 如果 A 是非奇异的,则这个因数分解为是唯一,当我们要求 R 的对角是正数的时候。2.2.2 程序及运行结果I=imread( C:UsersAdministratorPictures002.jpg );II=rgb
17、2gray(I);A=im2double(II)Q,R=qr(A,0) %对矩阵A进行经济型QR分解B=Q*R;subplot(1,3,1);imshow(II);subplot(1,3,2);imshow(Q)subplot(1,3,3);imshow(R) 运行结果如图2-3所示,各图像从左至右依次为原图像转换为灰度图后的图像,矩阵Q等价的图像,矩阵R等价的图像图2-3 对图像进行正交分解后的显示窗口从左至右:原始灰度图,分解后Q矩阵代表图,分解后R矩阵代表图2.3图像的离散余弦变换2.3.1离散余弦变换理论基础 离散余弦变换,尤其是它的第二种类型,经常被信号处理和图像处理使用,用于对信号
18、和图像(包括静止图像和运动图像)进行有损数据压缩。这是由于离散余弦变换具有很强的能量集中特性:大多数的自然信号(包括声音和图像)的能量都集中在离散余弦变换后的低频部分。 离散余弦变换(Discrete Cosine Transform)的计算速度要比对象为复数的离散傅立叶变换块得多,并且已经被广泛应用到图像压缩编码、语音信号处理等众多领域。一维离散余弦变换的定义可以用下式表示: (公式2-5) (公式2-6)式中是第个余弦变换系数,是广义频率变量,;是时域点序列。 (公式2-7)二维离散余弦变换的定义由下式表示: (公式2-8)其中为空间域中二维向量,为变换系数矩阵,。2.3.2 程序及运行结
19、果如下编辑M程序,可得如图2-4所示的经离散余弦变换后的图像 I=imread(C:UsersAdministratorPictures002.jpg);S=dct2(II);subplot(1,2,1)imshow(I)subplot(1,2,2)imshow(log(abs(S),) %输出频谱二维图像colormap(jet(64); %定义色图为HSV变异真彩色图运行结果如图2-4所示,各图像从左至右依次为原图像,dct变换后输出图像。图2-4 dct变换后窗口显示图像从左至右依次为:原始图像,dct变换后图像2.4图像的离散傅利叶变换2.4.1离散傅利叶变换理论基础离散傅立叶变换还有
20、一个明显的优点就是具有快速算法,即快速傅立叶算法(Fast Fourier Transform),它可以大大减少计算次数,使计算量减少到只是相当于直接使用离散傅立叶变换所用的一小部分。并且,二维离散傅立叶变换很容易从一维的概念推广得到。在数字图像处理中,二维离散傅立叶被广泛的应用于图像增强、复原、编码和分类中。如果为一长度为N的数字序列,则其离散傅里叶正变换定义由下式来表示: (公式2-9)二维离散函数的傅立叶变换为: (公式2-10)离散傅里叶变换已成为数字信号处理的重要工具,但是它的计算量较大,运算时间长,在某种程度上限制了它的使用。为了解决这一矛盾,引用了快速傅里叶变换的思想。快速傅立叶
21、算法以的组成状况可以分成为2的整数幂的算法;为高复合数的算法;为素数的算法三种情况。这里介绍第一种算法。令 一维离散傅立叶变换公式变为 (公式2-11)分别为。再令在此基础上,将分解成为和对应的偶数和奇数两部分,的取值范围由原来的0到改为0到。下面我们按照奇偶来将序列进行划分,设: (公式2-12)因此,离散傅立叶变换可以改写成下面的形式: (公式2-13)因此,一个求点的离散傅立叶变换可以被转换成为两个求 点的离散傅立叶变换。可以进一步写出8点DFT的完整FFT计算的流程框图,如图2-5 图2-5 FFT计算的流程框图2.4.2程序及运行结果I=imread( C:UsersAdminist
22、ratorPictures002.jpg);II=rgb2gray(I);figure(1);imshow(II)colorbar;j=fft2(II);k=fftshift(j); %做fft变换,同时将零点移到中心 figure(2);l=log(abs(k);imshow(l,); %显示频谱colorbarn=ifft2(j)/255; %做fft逆变换figure(3);imshow(n);colorbar运行结果如图2-6所示,各图像从左至右依次为原图像,快速傅里叶变换后输出图像,快速傅里叶逆变换后输出图像。图2-6 fft变换后窗口显示图像从左至右依次为:原始灰度图,fft变换后
23、图,fft逆变换后图2.5图像的小波变换2.5.1小波变换的理论基础 小波(Wavelet)这一术语,顾名思义,“小波”就是小的波形。所谓“小”是指它具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与Fourier变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。有人把小波变换称为“数学显微镜”。 傅里叶与小波两者都是基,信号都可以分成无
24、穷多个他们的和(叠加)。而展开系数就是基与信号之间的内积,更通俗的说是投影。展开系数大的,说明信号和基,是足够相似的。这也就是相似性检测的思想。但我们必须明确的是,傅里叶是0-2pi标准正交基,而小波是-inf到inf之间的基。因此,小波在实轴上是紧的。而傅里叶的基(正弦或余弦),与此相反。而小波能不能成为Reisz基,或标准稳定的正交基。所有满足容许性条件(从-INF到+INF积分为零)的函数,都可以成为小波。小波作为尺度膨胀和空间移位的一组函数也就诞生了。对于任何一个尺度a和平移因子b的小波,和原信号内积,所得到的小波系数,都可以表示成,在a,b附近生成的小波,投影后小波系数的线性组合,这
25、时的连续小波是与正交基毫无关系的东西,它顶多也只能作为一种积分变换或基。但它的显微镜特点和相似性检测能力,已经显现出来了。经过一次小波分解后,图像都被分解为四个1/4大小的图像,它们都是由原图与一个小波基图像的内积后,再经过在行和列方向进行2倍的间隔抽样而生成的。设y(t)L2(R)(L2(R)表示平方可积的实数空间,即能量有限的信号空间),其傅里叶变换为Y(w)。当Y(w)满足允许条件(Admissible Condition): (公式2-14)时,我们称y(t)为一个基本小波或母小波(Mother Wavelet)。将母函数y(t)经伸缩和平移后,就可以得到一个小波序列。对于任意的函数f
26、(t)L2(R)的连续小波变换为: (公式2-15) Haar函数是在小波分析中最早用到的一个具有紧支撑的正交小波函数,同时也是最简单的一个函数,它是非连续的,类似一个阶梯函数。Haar函数与db1小波函数是一样的。Haar函数的定义为: (公式2-16)尺度函数为: (公式2-17)在实际运用中,尤其是在计算机上实现,连续小波必须加以离散化。因此,有必要讨论一下连续小波ya,b(t)和连续小波变换Wf(a,b)的离散化。下列三个二维小波基是建立二维小波的基础:y1(x,y)f(x)y(y)y2(x,y)y(x)f(y)y3(x,y)y(x)y(y)它们构成二维平方可积函数空间L2(R2)的正
27、交归一基: (公式2-18)二维离散小波分解的过程如下:从一幅NN的图像f1(x,y)开始,其中上标指示尺度N是2的幂。对于j0,2j201尺度,也就是原图像的尺度。j值的每一次增大都使尺度加倍,而使分辨率减半。在变换的每一层次,图像都被分解为四个1/4大小的图像,它们都是由原图与一个小波基图像的内积后,再经过在行和列方向进行2倍的间隔抽样而生成的。对于第一个层次(j1),可写成(公式2-19)(公式2-20)(公式2-21)(公式2-22) 后续的层次(j1),依次类推,形成如图2-7所示的形式。 图2-7 二维离散小波分析原理示意图 在matlab中可以借助函数wavedec2实现二维小波
28、变换,进行二维信号的多层小波分解格式:C,S=wavedec2(X,N,wname) C,S=wavedec2(X,N,Lo_D,Hi_D)其中C,S=wavedec2(X,N,wname) 使用小波基函数 wname 对二维信号 X 进行 N 层分解;C,S=wavedec2(X,N,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。别可以实现一维、二维和 N 维 DFT2.4.2程序及运行结果Clear allclc %清楚上次程序执行结果I=imread( C:UsersAdministratorPictures002.jpg );II=rgb
29、2gray(I);imshow(II)A=im2double(II)L,H=wfilters(haar,d) %调用haar小波的分解和综合滤波器系数,只返回 Lo_D和Hi_D的分解滤波器系数C,S=wavedec2(A,1,L,H) %对图像进行二维信号的多层小波分解 % 使用指定的分解低通和高通滤波器 L 和 H 分解信号 A 。可以实现一维DFT,其中C是小波变换后的结果数据,以一维矢量的形式组织,S是二维矩阵,记录了C中数据的分布形式isize=prod(S(1,:)cA=C(1:isize)cH=C(isize+(1:isize)cV=C(2*isize+(1:isize)cD=C
30、(3*isize+(1:isize)cA=reshape(cA,S(1,1),S(1,2)cH=reshape(cH,S(2,1),S(2,2)cV=reshape(cV,S(2,1),S(2,2)cD=reshape(cD,S(2,1),S(2,2)figure,colormap graysubplot(2,2,1)imagesc(cA) %显示cA图像并显示标尺subplot(2,2,2)imagesc(cH)subplot(2,2,3)imagesc(cV)subplot(2,2,4)imagesc(cD)运行结果如图2-8a,2-8b所示。图2-8a 小波变换后图像从左至右依次为:cA
31、矩阵等价图像,cH矩阵等价图像从左至右依次为:cV矩阵等价图像,cD矩阵等价图像三 收获、体会和建议 通过这次课程设计,让我进一步的接触了MATLAB这款功能强大的软件,对其基本功能及用法,都通过自身的学习,翻阅资料,以及与同学之间的相互探讨,有了一定了解,特别是图像处理工具箱v32(Image ProcessingTool box)有了一定深度的学习及运用,书中较全面、系统地介绍了,图形的基本操作及增强功能,例如:图形的导入和显示,图形绘制、图像变换、图像增强。 总的来说,通过此次基础强化训练对MATLAB进行基础的运用和掌握,虽然只是对MATLAB一小部分进行运用。虽然以前,在信号与系统的
32、实验课上有所接触,也做过一次课程设计,但仅仅了解了其基本用法,和一些简单的处理函数。但经过这次才发现,工具箱涉及的专业领域广泛且功能强大。图像工具箱几乎包括所有经典的图像处理方法。所以说对于这些软件还是应该自己动手实际操作才会有深刻理解。所以,以后会认识到这款软件的重要作用,在今后的学习过程中努力学习她。对于MATLAB这款功能强大,在各个领域均有运用的软件,有了一定程度的掌握,对以后的学习以及工作,受益无穷。四 参考文献1 Vinay K.Ingle,数字信号处理及其MATLAB实现。北京:电子工业出版社,19982 王新成,高级图像处理技术。北京:中国科学技术出版社,2001.3 Sanjit K. Miltra,Digital Signal Processing Laboratory Using Matlab。McGraw-Hill press,2000 4 高志/余啸海,Matlab小波分析工具箱原理与应用。北京:国防工业出版社,20045 张强,王正林,精通MATLAB图像处理。北京:电子工业出版社,20086 赖志国,MATLAB图像处理与应用(第二版)。北京:国防工业出版社,2007本科生基础强化训练成绩评定表姓 名性 别专业、班级题 目:答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)