您好,欢迎来到智榕旅游。
搜索
您的当前位置:首页MATLAB课程设计 图像的变换域分析

MATLAB课程设计 图像的变换域分析

来源:智榕旅游
武汉理工大学《matlab课程设计》报告

课程设计任务书

学生姓名: 专业班级: 指导教师: 刘新华 工作单位: 信息工程学院

题 目: 利用MATLAB仿真软件进行图像的变换域分析。 初始条件: 1、使用MATLAB软件进行操作 2、选择一个图像进行分析

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明

书撰写等具体要求)

1、读取图像并求图像的奇异值(SVD)分解 2、正交分解(QR) 3、离散余弦变换(DCT) 4、离散傅利叶变换(DFT)

5、小波变换(DWT),并保存和显示变换后的图像。 时间安排:

阶段内容 方案设计 软件设计 系统调试 答辩 合 计

所需时间 1天 2天 1天 1天 5天 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日

武汉理工大学《matlab课程设计》报告

目 录

摘 要.......................................................... I Abstract....................................................... II 1.matlab基本操作 ............................................... 1

1.1基础知识 ................................................ 1 1.2图像的读取及程序 ........................................ 1 2. matlab图像操作 .............................................. 3

2.1图像的奇异值分解 ........................................ 3

2.1.1奇异值分解理论知识 ................................ 3 2.1.2程序及运行结果 .................................... 4 2.2 图像的正交分解.......................................... 5

2.2.1 正交分解理论知识.................................. 5 2.2.2 程序及运行结果.................................... 5 2.3图像的离散余弦变换 ...................................... 6

2.3.1离散余弦变换理论基础 .............................. 6 2.3.2 程序及运行结果.................................... 7 2.4图像的离散傅利叶变换 .................................... 8

2.4.1离散傅利叶变换理论基础 ............................ 8 2.4.2程序及运行结果 ................................... 10 2.5图像的小波变换 ......................................... 11

2.5.1小波变换的理论基础 ............................... 11 2.5.2程序及运行结果 ................................... 14

3.小结建议及体会.............................................. 16 4.参考文献..................................................... 17 本科生课程设计成绩评定表....................................... 18

武汉理工大学《matlab课程设计》报告

摘 要

MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。

MATLAB是一种向量语言,非常适合于图像处理,其自带的数字图像处理工具箱包括15类函数,支持四种图像类型,并可相互转换,ATLAB可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD等格式。本文介绍了MATLAB语言的特点以及图像处理工具箱实现的经典图像处理技术。总体介绍了,对图像的基本操作,以及对图像进行FFT变换,DCT变换,SVD变换,QR变换,小波变换等。

通过对一副图像通过MATLAB的图像工具箱箱中imread;imshow;subplot;figure等基本图像处理函数以及fft; fft2; dct; dct2; svd; qr;wavedec2等图像矩阵变换函数,进行处理,能大致基本展示MATLAB对图像处理方面的强大功能。并且通过本次课程设计,掌握了这款软件的基本操作,其图像工具栏的基本函数,以及对图像进行的一些增强操作等。

关键词:MATLAB语言 图像工具栏 图像处理

I

武汉理工大学《matlab课程设计》报告

Abstract

MATLAB language is introduced by the United 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 software. 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 digital 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 processing 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; 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 operation of this software and its basic function of the image toolbar, as well as a number of images to enhance operations and so on.

Key words: MATLAB language Image toolbar Image processing

II

武汉理工大学《matlab课程设计》报告

1.matlab基本操作

1.1基础知识

Matlab中基本变量都是以矩阵的形式保存的。一幅图像即是一个二维的矩阵。变量名区分大小写,如a和A表示两个不同的变量。图像I中第i行第j列的像素用I(i,j)表示,其中行号和列号都从1开始计数。要了解更多关于Matlab的基本知识,可看Matlab help下的Matlab目录。

本实验可能用到的matlab函数有: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文件中,便于检查和调试。

每次画图前可用figure命令新开一个图像窗口,否则前一次显示的图像会被新的图像覆盖。也可用figure(n)命令规定当前图像窗口序号。

1.2图像的读取及程序

在编辑窗口中,如下编辑M文件,%表示注释部分:

clear; %清除MATLAB中所有的工作平台变量 close all; %关闭打开的图形窗口

I=imread('e:/sure.jpg'); %调用函数,将所选图像导入MATLAB中, 所选图像存储在一个名为I的矩阵中 figure; %创建一个图像的显示图像图像 imshow(I); %调用函数显示导入的图像

在命令窗口中运行函数,可得到figure的运行结果了所选的图片,如图

1

武汉理工大学《matlab课程设计》报告

1-1所示。

图1-1 读取图像显示窗口

2

武汉理工大学《matlab课程设计》报告

2. matlab图像操作

2.1图像的奇异值分解

2.1.1奇异值分解理论知识

定义1 :对于NN矩阵A,有N个标量i(i1,2,,N)满足:

AiI0 (公式2-1)

则称这一组i为矩阵A唯一的特征值.

定义2 如果存在这样一个N1的向量Vi,有:

iV i (公式2-2) AVi则称Vi为A的与特征值i对应的一个特征向量. A一共有N个特征向量.

定义3 (矩阵奇异值分解) 矩阵的奇异值分解(Singular Value Decomposition,简称SVD)是矩阵所固有的特征,设矩阵ARmn,rank(A)r,rn,那么矩阵

A的奇异值分解定义如下:

TAUDV100[u1,u2,,um]00rU[u1,um]Rmmr[v1,v2,,vn]mnnnTj1jujvj(公式2-3)

其中,和

V[v1,vn]R是正交矩阵,其列向量分别

为ui和vi;U,V分别称为矩阵A的左奇异矩阵和右奇异矩阵;D是对角阵;

i(i1,,r)TT称作矩阵A的奇异值,此处是AA或AA的特征值i的正平方根,

满足

12rr1m0。

矩阵奇异值具有很好的稳定性,当矩阵A有微小振动时,其奇异值的改变不会大于振动矩阵的2-范数。若矩阵奇异值经过归一化处理,则可实现奇异值的比例不变性。另外,矩阵奇异值还具有旋转不变性,因此,奇异值能有效地反映矩阵的特征,在图像处理中能表现图像的代数特性。

3

武汉理工大学《matlab课程设计》报告

2.1.2程序及运行结果

I=imread('f:/aaa.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); subplot(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等价的图像。

4

武汉理工大学《matlab课程设计》报告

图2-1a svd变换后运行结果

原图像转换为灰度图后的图像,矩阵U等价的图像,矩阵S等价的图像

图2-1b svd变换后运行结果

矩阵V等价的图像,矩阵SM等价的图像,矩阵SN等价的图像

2.2 图像的正交分解

2.2.1 正交分解理论知识

实数矩阵 A 的 QR 分解是把 A 分解为

AQR (公式2-4)

这里的 Q 是正交矩阵(意味着 QTQ = 1)而 R 是上三角矩阵。类似的,我们可以定义 A 的 QL, RQ 和 LQ 分解。

更一般的说,我们可以因数分解复数 m×n 矩阵(有着 m ≥ n)为 m×n 酉矩阵(在 Q∗Q = 1的意义上)和 n×n 上三角矩阵的乘积。

如果 A 是非奇异的,则这个因数分解为是唯一,当我们要求 R 的对角是正数的时候。

2.2.2 程序及运行结果

I=imread('f:/aaa.jpg'); II=rgb2gray(I);

5

武汉理工大学《matlab课程设计》报告

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离散余弦变换理论基础

离散余弦变换,尤其是它的第二种类型,经常被信号处理和图像处理使用,用于对信号和图像(包括静止图像和运动图像)进行有损数据压缩。这是由于离散余弦变换具有很强的\"能量集中\"特性:大多数的自然信号(包括声音和图像)的能量都集中在离散余弦变换后的低频部分。

离散余弦变换(Discrete Cosine Transform)的计算速度要比对象为

6

武汉理工大学《matlab课程设计》报告

F(0并且已经被广泛应用到图像压缩编码、)f(x)复数的离散傅立叶变换块得多,语音信号Nx01N1处理等众多领域。 F(u)2N1Nx02N一维离散余弦变换的定义可以用下式表示: f(x)cos2(x1)u (公式2-5)

12(2x1)uf(x)F(0)F(u)cos式中F(u)是第u个余弦变换系数,u是广义频率变量,NN2Nu1,2,,N1;f(x)u1N1 (公式2-6)

是时域N点序列x0,1,2,,N1。

2NN1N1x0y0f(x,y)cos(2y1)u2N(2y1)vcos (公式

2N2-7)

二维离散余弦变换的定义由下式表示:

(公式2-8)

其中f(x,y)为空间域中二维向量,x,y0,1,2,,N1,F(u,v)为变换系数矩阵,u,v1,2,,N1。

2.3.2 程序及运行结果

下编辑M程序,可得如图2-4所示的经离散余弦变换后的图像 I=imread('f:/aaa.jpg'); S=dct2(II); subplot(1,2,1) imshow(I) subplot(1,2,2)

imshow(log(abs(S)),[]) %输出频谱二维图像 colormap(jet()); %定义色图为HSV变异真彩色图 运行结果如图2-4所示,各图像从左至右依次为原图像,dct变换后输出图像。

7

武汉理工大学《matlab课程设计》报告

图2-4 dct变换后窗口显示图像 从左至右依次为:原始图像,dct变换后图像

2.4图像的离散傅利叶变换

2.4.1离散傅利叶变换理论基础

离散傅立叶变换还有一个明显的优点就是具有快速算法,即快速傅立叶算法(Fast Fourier Transform),它可以大大减少计算次数,使计算量减少到只是相当于直接使用离散傅立叶变换所用的一小部分。并且,二维离散傅立叶变换很容易从

N12ux一维的概念推广得到。在数字图像处理中,二维离散傅立叶被广泛的应用于图像

F(u)f(x)增强、复原、编码和分类中。

x0f(x)expjN如果为一长度为N的数字序列,则其离散傅里叶正变换定义由下式来表示:

F(u,v)f(x,y)M1N1x0y0

vy  j 2  ( ux  f(x,y)exp)MN (公式2-9)

二维离散函数f(x,y)的傅立叶变换为:

(公式2-10)

离散傅里叶变换已成为数字信号处理的重要工具,但是它的计算量较大,运算时间长,在某种程度上了它的使用。为了解决这一矛盾,引用了快速傅里

8

武汉理工大学《matlab课程设计》报告

叶变换的思想。

快速傅立叶算法以N的组成状况可以分成N为2的整数幂的算法;N为高

11ux复合数的算法;为素数的算法三种情况。这里介绍第一种算法。 NF(u)f(x)exp(2j/N)uxf(x)WN1N1令 WNNx0Nx02jx/N expN一维离散傅立叶变换公式变为

(公式2-11)

u,x

分别为0,1,2,,N1。再令

nN2 n0,1,2,

1Nx的取值范围由原来的(n0,1,2,3,,1)N1Nh(n)f(2n1)0到改为0到。下面我们按照奇偶来将序列2f(n)进行划分,设:

f(x)分解成为f(2x)和f(2x1)对应的偶数和奇数两部分,在此基础上,将2g(n)f(2n)

(公式2-12)

因此,离散傅立叶变换可以改写成下面的形式:

N1NNF(u)n0f(n)WNunn021Nf(2n)WNu(2n)n0212f(2n1)WNu(2n1)(公式2-13)

因此,一个求N点的离散傅立叶变换可以被转换成为两个求 点的离散傅立叶变换。

可以进一步写出8点DFT的完整FFT计算的流程框图,如图2-5所示:

9

武汉理工大学《matlab课程设计》报告

图2-5 FFT计算的流程框图

2.4.2程序及运行结果

I=imread('f:/aaa.jpg'); II=rgb2gray(I); figure(1); imshow(II) colorbar; j=fft2(II);

k=fftshift(j); %做fft变换,同时将零点移到中心 figure(2); l=log(abs(k));

imshow(l,[]); %显示频谱 colorbar

n=ifft2(j)/255; %做fft逆变换 figure(3); imshow(n); colorbar

运行结果如图2-6所示,各图像从左至右依次为原图像,快速傅里叶变换后输出图像,快速傅里叶逆变换后输出图像。

10

武汉理工大学《matlab课程设计》报告

图2-6fft变换后窗口显示图像

从左至右依次为:原始灰度图,fft变换后图,fft逆变换后图

2.5图像的小波变换

2.5.1小波变换的理论基础

小波(Wavelet)这一术语,顾名思义,“小波”就是小的波形。所谓“小”是指它具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与Fourier变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。有人把小波变换称为“数学显微镜”。

傅里叶与小波两者都是基,信号都可以分成无穷多个他们的和(叠加)。而 展开系数就是基与信号之间的内积,更通俗的说是投影。展开系数大的,说明信号和基,是足够相似的。这也就是相似性检测的思想。但我们必须明确的是,傅里叶是0-2pi标准正交基,而小波是-inf到inf之间的基。因此,小波在实轴上是紧的。而傅里叶的基(正弦或余弦),与此相反。而小波能不能成为Reisz基,或标准稳定的正交基。所有满足容许性条件(从-INF到+INF积分为零)的函数,都可以成为小波。小波作为尺度膨胀和空间移位的一组函数也就诞生了。对于任何一个尺度a和平移因子b的小波,和原信号内积,所得到的小波系数,都可以表示成,在a,b附近生成的小波,投影后小波系数的线性组合,这时的连续小波是与正交基毫无关系的东西,它顶多也只能作为一种积分变换或基。但它的显微镜特点和相似性检测能力,已经显现出来了。经过一次小波分解后,图像都被分解为四个1/4大小的图像,它们都是由原图与一个小波基图像的内积后,再经过在行和列方向进行2倍的间隔抽样而生成的。

设y(t)∈L2(R)(L2(R)表示平方可积的实数空间,即能量有限的信号空间),其傅

11

武汉理工大学《matlab课程设计》报告

里叶变换为Y(w)。当Y(w)满足允许条件(Admissible Condition):

 1 / 2 b  (公式2-14)  t Wfa,bf,a,baf(t)dtRa时,我们称y(t)为一个基本小波或母小波(Mother Wavelet)。将母函数y(t)经伸缩和平移后,就可以得到一个小波序列。

对于任意的函数f(t)∈L2(R)的连续小波变换为:

(公式2-15)

0x1/21

11x1HHaar函数是在小波分析中最早用到的一个具有紧支撑的正交小波函数,同2其它0时也是最简单的一个函数,它是非连续的,类似一个阶梯函数。Haar函数与db1小波函数是一样的。Haar函数的定义为:

(x)100x1其它

(公式2-16)

尺度函数为:

(公式2-17)

在实际运用中,尤其是在计算机上实现,连续小波必须加以离散化。因此,有必要讨论一下连续小波ya,b(t)和连续小波变换Wf(a,b)的离散化。

下列三个二维小波基是建立二维小波的基础:

ljljj y1(x,y)=f(x)y(y) j,m(x,y)2y(x2m,y2n)(j0;l1,2,3;j,l,m,nZ),n y2(x,y)=y(x)f(y)  y3(x,y)=y(x)y(y)

它们构成二维平方可积函数空间L2(R2)的正交归一基:

二维离散小波分解的过程如下:

2 从一幅N×N的图像f1(x,y)开始,其中上标指示尺度N是2的幂。对于j=0,ˆ(公式2-18)

Rj值的每一次增大都使尺度加倍,而使分2j=20=1尺度,也就是原图像的尺度。C()d辨率减半。

在变换的每一层次,图像都被分解为四个1/4大小的图像,它们都是由原图

12

2武汉理工大学《matlab课程设计》报告

与一个小波基图像的内积后,再经过在行和列方向进行2倍的间隔抽样而生成的。对于第一个层次(j=1),可写成

(公式2-19)

1f2(m(公式2-20) (公式2-21)

(公式2-22) 后续的层次(j>1),依次类推,形成如图2-7所示的形式。

图2-7 二维离散小波分析原理示意图

在matlab中可以借助函数wavedec2实现二维小波变换,进行二维信号的多层小波分解

格式:[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) 使用指定的分解低通和高通滤波器 0f2(m,n)f2(m,n)2f1(x,y),(x2m,y2n)Lo_D 和 Hi_D 分解信号 X 。别可以实现一维、二维和 N 维 DFT 11f1(x,y),(x2m,y2n)2f2(m,n)f2(m,n)3f1(x,y),13 (x2m,y2n)f1(x,y),(x2m,y2n)32f2(m武汉理工大学《matlab课程设计》报告

2.5.2程序及运行结果

clc %清楚上次程序执行结果 I=imread('f:/aaa.jpg'); II=rgb2gray(I); imshow(II) A=im2double(II)

[L,H]=wfilters('haar','d') [C,S]=wavedec2(A,1,L,H) isize=prod(S(1,:)) cA=C(1:isize) cH=C(isize+(1:isize)) cV=C(2*isize+(1:isize)) cD=C(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 gray subplot(2,2,1)

imagesc(cA) subplot(2,2,2) imagesc(cH) subplot(2,2,3) imagesc(cV) subplot(2,2,4) imagesc(cD)

%调用haar小波的分解和综合滤波器系数,

只返回Lo_D和Hi_D的分解滤波器系数 %对图像进行二维信号的多层小波分解 %显示cA图像并显示标尺14

武汉理工大学《matlab课程设计》报告

运行结果如图2-8a,2-8b所示。

图2-8a 小波变换后图像

从左至右依次为:cA矩阵等价图像,cH矩阵等价图像

图2-8b 小波变换后图像

从左至右依次为:cV矩阵等价图像,cD矩阵等价图像

15

武汉理工大学《matlab课程设计》报告

3.小结建议及体会

这次课程设计让自己更深的了解了MATLAB的程序设计及图像处理的内容,在这次设计中,学习到了很多的东西和知识,并且积累了大量的宝贵经验,归结如下:

更全面的认识了MATLAB这个软件,并且能够熟练的使用MATLAB的基本功能,掌握了MATLAB的程序设计的基本方式方法和步骤。

学习了图像的处理的各项基本函数的使用,特别对MATLAB的帮助功能有了很深刻的了解,能够的完成函数的编写及功能的实现,再也不是什么函数都需要使用网络来询问,学习了图像噪声的使用,让我对专业知识有了更深的了解,对我以后的学习很有方向性。

在程序设计中,特别是对各个函数的使用中,看英文资料成为了必须的,这让我大量的接触了专业英语,是一个很意外的收获。让我能够接触更广阔的知识,使我以后的学习更加的有效开阔。

当然,网络上找资源也是这次实验课设的宝贵收获,在这次课程设计中,我大量运用了网络资源,积极的注册技术论坛,学到了很多知识。使我十分的受益。

不过,通过这次课程设计,也让我认识到了很多的不足,让我知道了自己知识的浅薄和要学习的东西还很多很多,还需要我继续的努力。

16

武汉理工大学《matlab课程设计》报告

4.参考文献

[1] Vinay K.Ingle,《数字信号处理及其MATLAB实现》。北京:电子工业出版社,1998

[2] 王新成,《高级图像处理技术》。北京:中国科学技术出版社,2001. [3] Sanjit K. Miltra,《Digital Signal Processing Laboratory Using Matlab》。McGraw-Hill press,2000

[4] 高志/余啸海,《Matlab小波分析工具箱原理与应用》。北京:国防工业出版社,2004

[5] 张强,王正林,《精通MATLAB图像处理》。北京:电子工业出版社,2008 [6] 赖志国,《MATLAB图像处理与应用(第二版)》。北京:国防工业出版社,2007

17

武汉理工大学《matlab课程设计》报告

本科生课程设计成绩评定表

姓 名 专业、班级 题 目:现代通信电子线路综合设计 答辩或质疑记录: 成绩评定依据 最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年 月 日

18

刘健 性 通信1005班 男

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- zrrp.cn 版权所有 赣ICP备2024042808号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务