当前位置:文档之家› 二维离散小波分解的C语言实现 论文

二维离散小波分解的C语言实现 论文

二维离散小波分解的C语言实现 论文
二维离散小波分解的C语言实现 论文

高等教育自学考试毕业论文(设计)题目:二维离散小波分解的C语言实现

摘要

小波变换用于图像处理是小波变换应用效果比较突出的领域之一。由于图像是二维信号,因此首先需要把小波变换由一维推广到二维。本文在一维离散Mallat算法的基础上,用C语言实现了二维图像的离散小波变换。这种二维变换是行列可分离的变换方式,即二维分解可以通过行和列依次作一维分解实现。对图像作二维离散小波分解后得到一个低频子带和一系列高频子带,分别反映图像的基本信息和细节信息。用这些子带也可以实现图像的重构。

目录

第一章绪论 (1)

1. 1小波理论与应用技术的发展概况 (1)

1. 2图像技术的发展历程及面临的问题 (2)

1. 3小波的特点及其在图像处理中的应用 (2)

第二章Mallat算法由一维到二维的推广 (4)

2. 1小波级数 (4)

2. 2 Mallat算法 (5)

2. 3二维离散小波变换 (7)

2. 4二维离散小波变换后的系数分布 (8)

第三章二维Mallat算法的C语言实现 (10)

3. 1基本模块 (10)

3.2 单层分解与重构 (10)

3.3金字塔结构的多层分解和重构 (11)

3.4小波系数的数据结构 (14)

3.5 结果与分析 (14)

参考文献 (19)

致谢 (20)

第一章绪论

1. 1小波理论与应用技术的发展概况

小波分析是当前数学中一个迅速发展的新领域,它同时具有理论深刻和应用十分广泛的双重意义。小波分析的应用是与小波分析的理论研究紧密地结合在一起的。现在,它已经在科技信息产业领域取得了令人瞩目的成就。电子信息技术是六大高新技术中重要的一个领域,它的重要方面是图像和信号处理。现今,信号处理已经成为当代科学技术工作的重要部分,信号处理的目的就是:准确的分析、诊断、编码压缩和量化、快速传递或存储、精确地重构(或恢复)。从数学地角度来看,信号与图象处理可以统一看作是信号处理(图像可以看作是二维信号),在小波分析地许多分析的许多应用中,都可以归结为信号处理问题。现在,对于其性质随实践是稳定不变的信号,处理的理想工具仍然是傅立叶分析。但是在实际应用中的绝大多数信号是非稳定的,而特别适用于非稳定信号的工具就是小波分析。

自1807年法国数学家Fourier从热传导理论提出Fourier分析以后,无论对数学史还是工程科学史的发展都起到了很大的影响和推动作用。Fourier分析的核心是通过Fourier变换引入频率的概念,并发展了频谱分析理论,使许多通过时域分析无法看清的现象在频域中一目了然。但Fourier变换是一种全时域变换,无法提取局部时时间段上的信号特征,为此数学家和工程师们提出了一种加时间窗的短时Fourier变换,最著名的是以Gaussian函数为窗口的Gabor变换,日后被发展为Morlet小波。因此,小波是一类能进行伸缩和平移操作的紧支局部函数,而小波分析就是以小波函数为变换核的一类积分变换的统称,本质上是对Fourier分析的继承与发展.1910年,Harr通过对双极函数进行伸缩操作,构造了一组最早的小波规范止交基:Harr小波基,提出了小波变换的原始思想。1936年Littlewood和Paley对Fourier级数建立了二进频率分量组理论(即L-P理论),后来的多分辨分析思想来源于此。接着科学家们在奇异积分算子、框架分解、小波级数、正交小波系、Besov空间等方面日益完善了小波理论,但都局限于数学理论研究方面。小波研究与应用的热潮始于20世纪80年代,1983年法国工程师Morlet在分析地震波的局部特性时,为解决Gabor变换在高频条件下不能很好地收集信号能量的问题,引入了小波概念,将Gabor变换中的Gaussian函数进行伸缩和平移,这就是Morlet小波。理论物理学家Grossmann对该小波的分解可行性作了研究,提出了确定函数的伸缩与平移展开理论,为小波分析理论的形成奠定了基础。随后,Meyer证明了一维小波函数的存在性,并构造了具有衰减性的光滑函数--Meyer小波,其二进伸缩和平移构成Q(R)的规范正交基。1987年Mallat将多分辨分析思想引入小波函数构造,完善了正交小波及其正交补一尺度函数理论,并研究了小波变换的离散化形式和滤波器组概念,提出了信号小波分解与重构的Mallat算法。比利时数学家Daubechies证明了紧支集正交小波基的存在性,并构造了Daubechies类正交小波基。近年来,为弥补单小波在解决高频段分辨率差、维护难、自由度不够、高维奇异性、缺乏方向性以及混和光滑函数类逼近等问题上的不足,小波理论在实践需要的推动下快速发展,产生了许多新的研究方向,如小波包(wavelets packet)、区间小波(interval Wavelets)、多小波(multiwavelets)、基于提升型(liftingscheme)的第二代小波以及脊波(ridgelet)、曲线波(curvelet)、双曲波(hyperbolic wavelet)等新兴小波理论受到广泛关注,这些将成为未来小波的主要研究方向。小波理论从诞生的那天起就注定它是一门应用性很强的学科,目前在信号分析、图像压缩机器视觉、模式识别、航空航天、量子力学、目标跟踪、系统辨识、自动控制、函数逼近数值计算甚至金融经济等领域都有小波技术的影子。数字图像的压缩己成为小波的顶级应用。

一言以蔽之,小波以其时频联合局部性和多分辨分析性能等优势正深刻改变着工程技术领域的一些传统研究和分析方法,图像技术等学科同样也深受其影响。

1. 2图像技术的发展历程及面临的问题

图像技术在广义上是各种与图像有关的技术总称,目前人们主要研究的是数字图像,应用的是计算机图像技术。这包括利用计算机和其他电子设备进行和完成的一系列工作,例如图像的采集、获取、编码存储和传输,图像的合成和产生,图像的显示和输出,图像的变换,增强恢复(复原)和重建,图像的分割,目标的检测,表达和描述,特征的提取和测量序列图象的校正,3-D景物的重建复原,图像数据库的建立、索引和抽取,图像的分类、表示和识别,图像模型的建立和匹配图像和场景的解释和理解,以及基于它们的判断决策和行为规划等等。另外,图像技术还可以包括为完成上述功能而进行的硬件设计及制作等方面的技术。

视觉是人类最重要的感知手段,图像又是视觉的基础,早期图像处理的目标是改善图像质量,它以人为对象,以改善人的视觉效果为目的.图像处理中输入的是质量低的图像,输出是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码压缩等.首次获得成功的是美国喷气推进实验室,他们对航天探测器徘徊者7号在1964年发回的几十张月球照片进行图像处理,如几何校正,灰度变换,去噪等,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得巨大成功.随后又对探测飞船发回的几十万张照片进行更为复杂的图像处理,获得了月球的地形图,彩图及全景镶嵌图,为人类登月奠定了基础,也推动了图像处理技术这门学科的发展。图像处理技术取得另一成果是EMI公司工程师Housefield发明了C T(Computer Tomograph )技术,CT的基本方法是根据人的头部截面的投影,经过计算机重建截面图像,称为图像重建。1975年,EMI公司又成功地研制出全身CT装置,1979年这项无损诊断技术被授予诺贝尔奖。

从20世纪70年代中期开始,随着计算机技术和人工智能,思维科学研究的迅速发展,图像处理技术向更高,更深层次发展,人们己开始研究如何用计算机系统解释图像,类似于人类视觉理解外部世界,这被称为图像理解或计算机视觉。

自1986,小波理论的迅速发展,它克服了傅立叶分析不能用于局部分析等方面的不足,被认为是调和分析半个世纪以来工作之结晶,Mallat在1988年有效地将小波分析用于图像分解和重构,小波分析被认为是信号与图像分析在数学方法上的重大突破。

1. 3小波的特点及其在图像处理中的应用

小波之所以在信号处理领域具有很大的优势,在于小波变换可以获得信号的多分辨率描述,这种描述符合人类观察世界的一般规律,同时,小波变换具有丰富的小波基可以适应具有不同特性的信号。小波函数及小波变换近乎完美的数学特性使得它日益受到系统科学家和工程人员的青睐,随着小波理论的不断发展和完善,小波在实际工作中的应用越来越广,小波及小波变换的特点有:

1.在时域和频域具有联合局部分析功能。传统的Fourier变换必须对信号进行全时域的分析,无法突出信号在局部时域的特征,而小波函数由于固有的紧支撑性和尺度伸缩变换的自适应窗口,能对信号进行时频联合局部分析,且这种分析具有自适应“变焦”功能:分析高频分量时,尺度减小,时窗变窄,中心频率增加,反之分析低频信号时,尺度增大,时窗变宽,中心频率减小,因而适于信号的局部分析。

2.具有多分辨(多尺度)分析功能。基于多分辨分析理论的正交尺度函数和正交小波,两者互为正交补,能细致划分频带,能将信号分解成不同频带上的分量,更深入地分析信号的特征,对系统能按不同频带上的要求进行分频设计和建模,更好地反映人类对控制对象的频率设计或辨识要求。

3.是一种良好的非线性系统局部逼近基。基于框架理论的离散小波函数族在满足一定条件下,可作为ψ(t)函数的逼近基,甚至是正交基。正交小波基可以无冗余地获得信号的局部信息,也就是说可通过基函数系数重构原信号,数学意义清晰,逼近误差有明确的上界,而非正交小波基对非线性函数的冗余表示,也能完全刻画原函数,并重构之,其优点是数值计算稳定,且有显式的解析表达式,适用于高维非线性函数逼近。

4.具有基于共轭镜像滤波器组的快速算法。事实上复杂的正交小波(尺度)变换往往通过一组简单的共扼镜像滤波器系数和Mallat金字塔型算法来实现,计算量小,计算复杂度一般为O(n)或O(nlogn)级。

5.小波函数的多样性。为解决某类问题,人们提出了许多有针对性的小波函数,如Daubechies类小波、墨西哥草帽小波、Gabor小波、Meyer小波、样条小波等等,研究者可根据实际的应用情况选择相应的小波,且对传统小波函数的各种改进也在不同出现。

6.新的小波理论不断涌现。小波的理论发展是与其应用息息相关的,工程应用反过来促进了小波研究的深化,可以说小波是一支应用性很强的数学分支,许多学科都从小波的不断发展中获益。

小波分析己经形成了一套完善的理论,目前,小波在信号处理和图像处理中的应用得到空前发展,大量的应用成果己经出现。

第二章 Mallat 算法由一维到二维的推广

2. 1小波级数

在多分辨分析(MRA )中,L 2

(R )有空间塔式分解

即:j

j

j

j

V

W

W W R L ----⊕⊕⊕⊕≈...)(2

1

2

(1)

对)(2R L f ∈?,设f 在V j 上的投影系数为C j,k ,在W j 上的投影系数为D j,k(j=J,J-1…-J),则对应于(1)式的空间分解,系数也有相应的塔式分解

于是,f 有以下的分解式

k

j z

k j k j k

j k

k

j j J k

J k

k

J k

j k

k

j J J j k

J k

k

J k J k k

J k

J k k J k

J k

k

J k J k

k

J k J k

k

J k

J k

k

J k J k k

J k

J k k

J d x f d c

d c

d

d

c

d

d

c

d

c ,,,,,,,,,1,2,2,2,2,1,1,2,2,2,2,1,1,1,1,1,1,,......)(ψψ

?

ψ

?

ψ

ψ

?

ψ

ψ?

ψ

?

∑∑∑∑∑∑∑∑∑∑∑∑∑∑∈∞-∞

=∞

→----=--+

------+

--+

----+

--=

??→?+

=

+

+===

=

=

(3)就是f 的小波级数。这样,f

就是对应于小波函数ψj,k 的小波系数,也就是f 在小波子空间上的投影系数。

在实际应用中,如在信号与图像处理时,f 的展开式常常停留在(2)式中,第一和式在小波子空间中,它表示信号的细节部分(即高频部分),一般含有噪声;第二和式在尺度空间中,(即低频部分),它反映了信号的本征部分,重构信号由低频部分和去除噪声后的高频部分来构成。

如何由C j ,k 分解出C j -1,k 和D j-1,k 的算法即为Mallat 算法的分解部分。而由C j -1,k 和D j-1,k 恢复C j ,k 的过程即为Mallat 算法的重构部分。

2. 2 Mallat 算法

Mallat 于1987年将汁算机视觉领域内的多尺度(多分辨率)分析方法引入到小波分析中,不仅统一了前人关于小波函数的构造,信号的小波变换分解与重建,还给出了相应的算法,即著名的Mallat 分解、重建算法。这个算法在小波分析中具有相当于傅里叶分析中FFT 同等的地位。

Mallat 算法主要是用基于多分辨分析的多采样率滤波器组[2]分解信号的,可以把信号分解为离散平滑分量和离散细节分量。这些离散分量间的关系可以用滤波器组的形式表现出来。下面,直接从信号分解和重构的多采样率滤波器组开始分析信号。

Mallat 算法的一层分解将上一级的离散平滑逼近分解成下一层的离散平滑逼近和离散细节分量: 离散平滑逼近

[]

))(*)((2)2)(()(01

n n k n k n h c c

c j k

j j

↓=-∑=- (4)

离散细节分量

[]

))(*

)((2)2()()(0

01

n n k n k n g

c g c

d j k

j j

↓=-=∑- (5)

如图1、图2所示。图1为一个低通滤波器加一个二抽取一的处理过程;图2为一个高通滤波器加一个二抽取一的过程。

图1 一次平滑分解示意图

图2 一次细节分解示意图

其中,h (n )为低通数字滤波的系数,g (n )为高通数字滤波的系数;它们的具体取值与尺度函数(提取平滑分量)和小波函数(提取细分量)的性质有关。

将一层分解所得的离散平滑逼近部分进一步分解,可形成小波的多层分解,最初的输入为离散信号x(n),经分解得到某一分辨率上的平滑逼近和一系列的细节信号,如图3所示。通常每一层的高通和低通滤波器均分别相同。

图3 多层信号分解示意图

信号重建的公式为:

[][])

(2*)()(2*)()

2()()2()()(''1

n j n n n k n k j k n k n d g c h g d h c c

j

k

k

j j ↑+↑=

-+-=

'∑'∑- (6)

式中c j .d j 是第j 级的离散平滑及细节分量,)('n h 和)('n g 分别为反变换对应的低通和高通滤波器系数。等价的示意图如图4所示。

图4 信号重建示意图

由图4所示结构迭代可得小波变换多层重构过程, 由某一分辨率上的平滑逼近和一系列的细节信号重构得到输出信号y(n)。适当设计滤波器,可以实现理想重建,即y(n) = x(n)。

图5 信号重构示意图

2. 3二维离散小波变换

图像在计算机中的表示如图6所示,灰度图像在计算机中是以矩阵的形式进行存储的,对于图像上任一点(x,y),就有一个灰度值f(x,y)与其相对应。点坐标(x,y),连续变化时就确定了一个连续变化的二维函数f(x,y),所以图像可以看做是二维离散信号。为了将小波变换应用于图像处理,就要将一维离散小波变换推广到二维离散小波变换。

二维离散小波变换

图6 灰度图像在计算机中的表示

二维小波变换有两种方法:一种是可分离的,由一维小波的张量积构成;另一种是不可分离的。二维小波变换简记为2DWT,由于不可分离的2DWT还不够成熟,因而,目前图像处理中用得最多的是可分离的2DWT。

二维多分辨分析与一维多分辨率分析类似,二维情况下也存在着二维尺度函数φ(x,y)使φjmn(x,y)是二维MRA的标准正交基,即

φjmn(x,y)=2jφ(2-j x-n,2-j y-n) (n,m)∈Z2,j∈[1,∞] (7)

其中,[1,∞]z表示区间[1,∞],中的所有整数。设则V2j为L2(R2)的MRA

的允许条件是V,为L2(R2)的MRA,其中,“”表示张量积,这时可得到

φ(x,y)=φ(x)φ(y)(8)

为了得到L2(R2)的标准正交基,引入如下定理。

定理1 设V2是L2(R2)的二维可分MRA,φ(x,y)=φ(x)φ(y)φ(x)是一维MRA中与φ(x)对应的小波,则

φ1(x,y)=φ(x)φ(y)

φ2(x,y)=φ(x)φ(y)

φ3(x,y)=φ(x)φ(y)

其中,对φ(x,y)进行平移和伸缩所得的{2jφ(2-j x-n,2-j y-n)(n,m,j)∈Z2,j=1,2,3}是 L2(R2)的标准正交基,即

φj(x,y)=2jφ(2j x,2j y)

φ1j(x,y)=2jφ1j(2j x,2j y)

φ2j (x,y )=2j φ2j (2j x,2j y ) φ3j (x,y )=2j φ3j (2j x,2j y )

设f(x,y)∈L 2

(R 2

)为二维连续信号,由定理1可以得到

则二维情况下的MRA 定义为

式(10)~(13)中,(n,m) ∈Z 2,j=-i ~-j,W 1j f(n,m),W 1j f(n,m),W 2j (n,m),W 3j f(n,m)称为二维信号f(x,y)的离散小波变换。

2. 4二维离散小波变换后的系数分布

S j f(x,y), W 1j f(n,m),W 2j f(n,m), W 3j f(n,m)构成了信号f(x,y)的二维正交小波分解系数,它们每一个都可以看做一幅图像。S j f(n,m)给出了f(x,y)的低频分量的小波分解系数, W 1j f(n,m)给出了f(x,y)垂直方向的高频分量的小波分解系数,W 2j f(n,m)给出了f(x,y)水平方向的高频分量的小波分解系数,W 3j f(n,m)给出了f(x,y)对角方向的高频分量的小波分解系数。若用S j ,W 1j ,W 2j ,W 3j 分别表示S j f(x,y),W 1j f(n,m) W 2j f(n,m),W 3j (n,m)经过2:1下采样后的变换系数(简称子图像),可见任一图像可以分解成为j=-J ~-I 的3J+1个离

散子图像S j ,W 1j , W 2j , W 3j 。S j 是原图像的一个近似,W 1j , W 2j , W 3

j 则是图像在不同方向、不同分辨率下的细节。如果原图像有N 2个像素,则子图像S j ,W 1j , W 2j , W 3j ,分别有(2j N )2个像素(j <0=,因而,分解后的总像素N t

可见,分解后总的像素不变。图7是当J=3时经小波分解后的变换系数(子图像)分布示意图。

(9)

(10)

(12)

(11)

(13)

(14)

图7 三级小波变换后系数分布图

二维情况下并采用与一维情况类似的Mallat塔式算法,由于是可分离的小波变换,因此,可以用两次一维小波变换来实现一次二维小波变换。由于二维数字信号可以用矩阵表示,因此,可先对该矩阵的各行进行一维小波变换,再对各列进行一维小波变换。从信号滤波的角度实现二维小波变换的框图分别如图8、图9所示。

图8 二维小波变换的Mallat算法

图9 二维小波逆变换的Mallat算法

第三章 二维Mallat 算法的C 语言实现

3. 1基本模块

由二维Mallat 算法(图8,图9)可分析得到,实现该算法最基本的模块为:下采样、上采样和卷积,且均为一维操作。

下采样即序列y 由序列x 中所有下标为偶数的点组成,y 的长度为x 长度的一半。 上采样即序列y 由序列x 每两个值中间插一零值得到。y 的长度为x 的两倍。

卷积公式为:)()()(0

m n x m h n y n

m -=

∑=

(15)

y 在所有n 点上的取值可由C 语言两个嵌套的循环得到。根据线性卷积性质,y 的长度为输入信号x 的长度加上滤波器的长度再减去1。由于用线性卷积得到的输出信号比原输入信号要长,造成小波系数有一定的冗余。采用周期性的边缘延拓可以解决这一问题。周期延拓可以通过圆周卷积实现,设输入信号长度为N ,滤波器长度为M ,圆周卷积的结果等价于线性卷积后,将输出信号(长N +M -1)的最后M -1个点叠加到最开始的M -1个点上去,最后输出信号的长度为N 。

由下采样、上采样和卷积模块可组成如图1、2的一维单层分解模块和图4的一维单层重构模块。

3.2 单层分解与重构

将图像数据读入到一个二维数组中,由一维单层分解和重构模块组成二维小波单层分解和重构的算法如下: 单层分解

1.取二维数组第一行作一维分解,分解结果覆盖原数据,仍存储在二维数组的第一行中。 2.对其余行作同样操作,最后得到行分解更新后的二维数组。

3.取更新后的二维数组的第一列作一维分解,分解结果覆盖原数据,仍存储在二维数组

的第一列中。

4.对其余列作同样操作,最后得到列分解更新后的二维数组。

在单层分解中,作行分解实际上是把原二维矩阵分成了两个宽度为一半的矩阵。列分解则把这两个矩阵再分成两个高度为一半的矩阵。因此单层分解的结果形成了四个长宽分别为原矩阵一半的子带。

单层重构

1.四个子带拼成一个二维数组,取数组第一行作一维重构,重构结果覆盖原数据,仍存

储在二维数组的第一行中。

2.对其余行作同样操作,最后得到行重构更新后的二维数组。

3.取更新后的二维数组的第一列作一维重构,重构结果覆盖原数据,仍存储在二维数组

的第一列中。

4.对其余列作同样操作,最后得到列重构更新后的二维数组。

在单层重构中,行重构把原来四个子带组合为两个,列重构进一步把这两个子带恢复成一个数组。

3.3金字塔结构的多层分解和重构

以一层分解和重构的函数为模块我们可以通过多次循环实现多层分解和重构的小波算法。用下列伪代码表示:

二维多层分解

读入输入图像高度H、宽度W,滤波器长度L。

读入输入数据,储存在二维数组x中、读入低通滤波器h和高通滤波器g。

a = H,

b = W

for 分解层数从1到J{

取数组x的前a行和前b列一层小波分解,得到的小波系数覆盖原数据放在x的前a 行和前b列中。

a = a/2,

b = b/2

}

二维多层重构:

读入输入图像高度H、宽度W,滤波器长度L。

读入系数二维数组x、低通滤波器h’和高通滤波器g’

a = H/2^J,

b = W/2^J

for 重构层数从1到J{

取数组x的前2a行和2b列作一层小波重构(包括4个a×b的系数子带),得到的小波系数覆盖原数据放在x的前2a行和前2b列中。

a = 2a,

b = 2b

}

小波变换的二层分解和重构的详细流程图如图10、11所示:

图10 二维信号分解流程图

图11 二维信号重构流程图

3.4小波系数的数据结构

图12 图像分解的示意图

图12所示为图像分解中子带分割的过程。由于分解之后系数总个数等于原图像中像素点个数,可以用储存原图像数据的内存空间来存储小波系数,而不用另外分配空间。第一层行分解后,原图像数据被覆盖,取而代之的是一个低频子带(L )和一个高频子带(H ),

第一层列分解后,L 被分解成LL 和LH ,H 被分解成HL 和HH 。下一层分解保留LH 、HL 和HH ,只对LL 作继续处理,将其分解为四个子带。不同层次的子带加下标以示区别。重构过程则为分解的反过程。

3.5 结果与分析

我们用两幅测试图像对C 语言的小波分解和重构程序进行了测试。所用的滤波器系数为Daubechies 4阶共轭镜像正交滤波器组,滤波器长度均为8。输入信号、滤波器数值均从文本文件读入。原图像及测试结果作图如下,为便于显示,各子带分别经过归一化处理至[0,255]区间内,且高频子带用反色显示其绝对值大小(黑色表示绝对值大,白色表示绝对值小)。

图13 测试图Barbara

图14 测试图Barbara第一层分解所得子带

图15 测试图Barbara第二层分解所得子带

图16 测试图Barbara第三层分解所得子带

图17 测试图Boat

图18 测试图Boat第一层分解所得子带

图19 测试图Boat第二层分解所得子带

在线书店系统的设计与实现--优秀毕业设计论文

毕业论文 姓名: 班级: 系部: 专业: 论文题目:在线书店系统的设计与实现 指导教师: 职称: 2013年7月

目录 前言 (3) 需求分析 (5) 一、用户需求分析 (5) 1.图书查询需求 (5) 2.购物车管理需求 (5) 3.订单处理需求 (5) 4.管理员与客户的分类功能 (5) 系统开发技术 (7) 一、MVC模式简介 (7) 1.电子商务概况摘要 (8) 系统总体设计 (10) 1.UML活动关系图 (10) 2.系统组成 (11) 3.功能设计 (11) (1)图书信息管理 (11) (2)购物车管理 (11) (3)会员注册 (11) (4)订单处理 (12) 数据库设计与实现 (13) 一、数据库的需求分析 (13) 1.数据库的逻辑设计 (13) 2.数据表基本结构 (15) 3.创建数据表脚本 (16) 系统实现过程 (18) 开发平台 (18) 一、系统各组件实现 (18) 用户表示层 (18) 系统测试与运行 (27)

一、系统测试 (27) 二、测试结果 (27) 结论 (30) 参考文献 (31) 谢辞 (32)

前言 随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。 所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点,一是其商业背景,二是网络化和数字化。简言之,电子商务就是通过电子网络渠道达成的商务活动。 电子商务是计算机网络的第二次革命,它通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。对于电子商务的研究始于20世纪70年代末,而其实施要更晚些,实施又分为两步,其中电子数据交换(Electronic Data Interchange,EDI)始于20世纪80年代中期,Internet上的电子商务始于20世纪90年代初期。电子商务活动相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。根据统计,目前电子商务活动中80%的收属于B2B型商务活动,这由于企业组织的信息化程度和技术水平比个体消费者明显要高,主要面向的是企业与企业,为企业提供进行采购、销售和结算等业务的平台。B2C则是我们最熟悉的,它直接面向终端的大众消费者。它通常也有两种形式,一种是类似一个大的超市,里面摆放着大量的商品,提供给消费者直接去选择购买;而另一种形式则类似一个大商城,商城中有许多柜台,用户可以直接到柜台选择和购买自己中意的东西,然后去结算,这种商城只提供柜台和相关的服务,并收取相应的柜台使用费。 一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。信息流就是通过电子网络向客户揭示所售商品的相关信息,引导客户通过网络进行购物。资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款

二维离散小波分解的C语言实现 论文

高等教育自学考试毕业论文(设计)题目:二维离散小波分解的C语言实现 摘要 小波变换用于图像处理是小波变换应用效果比较突出的领域之一。由于图像是二维信号,因此首先需要把小波变换由一维推广到二维。本文在一维离散Mallat算法的基础上,用C语言实现了二维图像的离散小波变换。这种二维变换是行列可分离的变换方式,即二维分解可以通过行和列依次作一维分解实现。对图像作二维离散小波分解后得到一个低频子带和一系列高频子带,分别反映图像的基本信息和细节信息。用这些子带也可以实现图像的重构。

目录 第一章绪论 (1) 1. 1小波理论与应用技术的发展概况 (1) 1. 2图像技术的发展历程及面临的问题 (2) 1. 3小波的特点及其在图像处理中的应用 (2) 第二章Mallat算法由一维到二维的推广 (4) 2. 1小波级数 (4) 2. 2 Mallat算法 (5) 2. 3二维离散小波变换 (7) 2. 4二维离散小波变换后的系数分布 (8) 第三章二维Mallat算法的C语言实现 (10) 3. 1基本模块 (10) 3.2 单层分解与重构 (10)

3.3金字塔结构的多层分解和重构 (11) 3.4小波系数的数据结构 (14) 3.5 结果与分析 (14) 参考文献 (19) 致谢 (20)

第一章绪论 1. 1小波理论与应用技术的发展概况 小波分析是当前数学中一个迅速发展的新领域,它同时具有理论深刻和应用十分广泛的双重意义。小波分析的应用是与小波分析的理论研究紧密地结合在一起的。现在,它已经在科技信息产业领域取得了令人瞩目的成就。电子信息技术是六大高新技术中重要的一个领域,它的重要方面是图像和信号处理。现今,信号处理已经成为当代科学技术工作的重要部分,信号处理的目的就是:准确的分析、诊断、编码压缩和量化、快速传递或存储、精确地重构(或恢复)。从数学地角度来看,信号与图象处理可以统一看作是信号处理(图像可以看作是二维信号),在小波分析地许多分析的许多应用中,都可以归结为信号处理问题。现在,对于其性质随实践是稳定不变的信号,处理的理想工具仍然是傅立叶分析。但是在实际应用中的绝大多数信号是非稳定的,而特别适用于非稳定信号的工具就是小波分析。 自1807年法国数学家Fourier从热传导理论提出Fourier分析以后,无论对数学史还是工程科学史的发展都起到了很大的影响和推动作用。Fourier分析的核心是通过Fourier变换引入频率的概念,并发展了频谱分析理论,使许多通过时域分析无法看清的现象在频域中一目了然。但Fourier变换是一种全时域变换,无法提取局部时时间段上的信号特征,为此数学家和工程师们提出了一种加时间窗的短时Fourier变换,最著名的是以Gaussian函数为窗口的Gabor变换,日后被发展为Morlet小波。因此,小波是一类能进行伸缩和平移操作的紧支局部函数,而小波分析就是以小波函数为变换核的一类积分变换的统称,本质上是对Fourier分析的继承与发展.1910年,Harr通过对双极函数进行伸缩操作,构造了一组最早的小波规范止交基:Harr小波基,提出了小波变换的原始思想。1936年Littlewood和Paley对Fourier级数建立了二进频率分量组理论(即L-P理论),后来的多分辨分析思想来源于此。接着科学家们在奇异积分算子、框架分解、小波级数、正交小波系、Besov空间等方面日益完善了小波理论,但都局限于数学理论研究方面。小波研究与应用的热潮始于20世纪80年代,1983年法国工程师Morlet在分析地震波的局部特性时,为解决Gabor变换在高频条件下不能很好地收集信号能量的问题,引入了小波概念,将Gabor变换中的Gaussian函数进行伸缩和平移,这就是Morlet小波。理论物理学家Grossmann对该小波的分解可行性作了研究,提出了确定函数的伸缩与平移展开理论,为小波分析理论的形成奠定了基础。随后,Meyer证明了一维小波函数的存在性,并构造了具有衰减性的光滑函数--Meyer小波,其二进伸缩和平移构成Q(R)的规范正交基。1987年Mallat将多分辨分析思想引入小波函数构造,完善了正交小波及其正交补一尺度函数理论,并研究了小波变换的离散化形式和滤波器组概念,提出了信号小波分解与重构的Mallat算法。比利时数学家Daubechies证明了紧支集正交小波基的存在性,并构造了Daubechies类正交小波基。近年来,为弥补单小波在解决高频段分辨率差、维护难、自由度不够、高维奇异性、缺乏方向性以及混和光滑函数类逼近等问题上的不足,小波理论在实践需要的推动下快速发展,产生了许多新的研究方向,如小波包(wavelets packet)、区间小波(interval Wavelets)、多小波(multiwavelets)、基于提升型(liftingscheme)的第二代小波以及脊波(ridgelet)、曲线波(curvelet)、双曲波(hyperbolic wavelet)等新兴小波理论受到广泛关注,这些将成为未来小波的主要研究方向。小波理论从诞生的那天起就注定它是一门应用性很强的学科,目前在信号分析、图像压缩机器视觉、模式识别、航空航天、量子力学、目标跟踪、系统辨识、自动控制、函数逼近数值计算甚至金融经济等领域都有小波技术的影子。数字图像的压缩己成为小波的顶级应用。 一言以蔽之,小波以其时频联合局部性和多分辨分析性能等优势正深刻改变着工程技术领域的一些传统研究和分析方法,图像技术等学科同样也深受其影响。

大一上期C语言实验报告5 循环控制语句

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用三 种循环语句实现循环结构; (2)掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧; (3)进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。2.实验内容 (1)输出两个整数m和n,求它们的最大公约数和最小公倍数。 要求: ①画出算法流程图,从键盘输入m和n; ②对负数和零可不做考虑; ③运行程序,对m>n、m

③按照数字、大写字母、小写字母及其他字符数的顺序输出结果 3.流程图 4.源程序

5. 运行结果 (1 ) 求最大公约数和最小公倍数 (2)求1000内最大的10个素数之和(3)计算π值

C语言for循环语句教案

for循环结构程序设计教案 课程名称:C语言程序设计 本课内容:循环结构程序设计——for 语句 一、教学目标 1、领会程序设计中构成循环的方法 2 、掌握for 语句的用法 二、教学重点 1、for 语句的一般格式 2、for语句的执行过程 三、教学难点 for 语句的综合利用 四、教学方法 1、课堂讲授,给出主要内容。 2、讲解其基本格式。 3、应用示例,结合相应的知识讲解。 4、执行过程用流程图和例题用(演示法和讲解法)进行详细说明。 五、教学过程 (一)导入 1、复习前两节课我们学习的两种循环语句——while语句和do~while 语句的基本格式和执行过程和特征。 2、给出例子如下:

main( ) {int x=1; (表达式1) s=0; while(x<=100) (表达式2) {s=s+x; x=x+1; (表达式3) } printf(“%d”,s); } 分析用while语句来完成的程序,主要完成1到100的累加和,对一个循环程序来说最关键的三个部分:循环变量的赋初值、控制循环条件、循环控制变量的更新。 (二)教学过程 1、写出本节课要介绍的for语句的一般格式 for(表达式1;表达式2;表达式3) 循环体; 2、掌握:基本格式和各个表达式的功能和特征 强调:for语句中的所有表达式和while语句中的表达式所完成的功能是相同的。 表达式1:循环变量的初始化(初始值) 表达式2:循环条件(终止值) 表达式3:循环变量自增 3、for语句的执行过程 for ( int i = 0 ; i < 10 ; i++) { printf("我最棒"); }

MATLAB小波变换指令及其功能介绍(超级有用)解读

MATLAB小波变换指令及其功能介绍 1 一维小波变换的 Matlab 实现 (1) dwt函数 功能:一维离散小波变换 格式:[cA,cD]=dwt(X,'wname') [cA,cD]=dwt(X,Lo_D,Hi_D)别可以实现一维、二维和 N 维DFT 说明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号X 进行分解,cA、cD 分别为近似分量和细节分量; [cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信 号进行分解。 (2) idwt 函数 功能:一维离散小波反变换 格式:X=idwt(cA,cD,'wname') X=idwt(cA,cD,Lo_R,Hi_R) X=idwt(cA,cD,'wname',L)函数 fft、fft2 和 fftn 分 X=idwt(cA,cD,Lo_R,Hi_R,L) 说明:X=idwt(cA,cD,'wname') 由近似分量 cA 和细节分量 cD 经 小波反变换重构原始信号 X 。 'wname' 为所选的小波函数 X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重构滤波器 Lo_R 和 Hi_R 经小波反变换重构原始信号 X 。 X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信号 X 中心附近的 L 个点。 2 二维小波变换的 Matlab 实现 二维小波变换的函数别可以实现一维、二维和 N 维 DFT 函数名函数功能

--------------------------------------------------- dwt2 二维离散小波变换 wavedec2 二维信号的多层小波分解 idwt2 二维离散小波反变换 waverec2 二维信号的多层小波重构 wrcoef2 由多层小波分解重构某一层的分解信号 upcoef2 由多层小波分解重构近似分量或细节分量 detcoef2 提取二维信号小波分解的细节分量 appcoef2 提取二维信号小波分解的近似分量 upwlev2 二维小波分解的单层重构 dwtpet2 二维周期小波变换 idwtper2 二维周期小波反变换 ----------------------------------------------------------- (1) wcodemat 函数 功能:对数据矩阵进行伪彩色编码函数 fft、fft2 和 fftn 分 格式:Y=wcodemat(X,NB,OPT,ABSOL) Y=wcodemat(X,NB,OPT) Y=wcodemat(X,NB) Y=wcodemat(X) 说明:Y=wcodemat(X,NB,OPT,ABSOL) 返回数据矩阵 X 的编码矩阵 Y ;NB 伪编码的最大值,即编码范围为 0~NB,缺省值 NB=16; OPT 指定了编码的方式(缺省值为 'mat'),即:别可以实现 一维、二维和 N 维 DFT OPT='row' ,按行编码 OPT='col' ,按列编码

即时通讯系统的设计与实现毕业设计论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

小波变换详解

基于小波变换的人脸识别 近年来,小波变换在科技界备受重视,不仅形成了一个新的数学分支,而且被广泛地应用于模式识别、信号处理、语音识别与合成、图像处理、计算机视觉等工程技术领域。小波变换具有良好的时频域局部化特性,且其可通过对高频成分采取逐步精细的时域取样步长,从而达到聚焦对象任意细节的目的,这一特性被称为小波变换的“变聚焦”特性,小波变换也因此被人们冠以“数学显微镜”的美誉。 具体到人脸识别方面,小波变换能够将人脸图像分解成具有不同分辨率、频率特征以及不同方向特性的一系列子带信号,从而更好地实现不同分辨率的人脸图像特征提取。 4.1 小波变换的研究背景 法国数学家傅立叶于1807年提出了著名的傅立叶变换,第一次引入“频率”的概念。傅立叶变换用信号的频谱特性来研究和表示信号的时频特性,通过将复杂的时间信号转换到频率域中,使很多在时域中模糊不清的问题,在频域中一目了然。在早期的信号处理领域,傅立叶变换具有重要的影响和地位。定义信号(t)f 为在(-∞,+∞)内绝对可积的一个连续函数,则(t)f 的傅立叶变换定义如下: ()()dt e t f F t j ωω-? ∞ -∞ += (4-1) 傅立叶变换的逆变换为: ()()ωωπ ωd e F t f t j ? +∞ ∞ -= 21 (4-2) 从上面两个式子可以看出,式(4-1)通过无限的时间量来实现对单个频率

的频谱计算,该式表明()F ω这一频域过程的任一频率的值都是由整个时间域上的量所决定的。可见,式(4-1)和(4-2)只是同一能量信号的两种不同表现形式。 尽管傅立叶变换可以关联信号的时频特征,从而分别从时域和频域对信号进行分析,但却无法将两者有效地结合起来,因此傅立叶变换在信号的局部化分析方面存在严重不足。但在许多实际应用中,如地震信号分析、核医学图像信号分析等,研究者们往往需要了解某个局部时段上出现了哪个频率,或是某个频率出现在哪个时段上,即信号的时频局部化特征,傅立叶变换对于此类分析无能为力。 因此需要一种如下的数学工具:可以将信号的时域和频域结合起来构成信号的时频谱,描述和分析其时频联合特征,这就是所谓的时频局部化分析方法,即时频分析法。1964年,Gabor 等人在傅立叶变换的基础上引入了一个时间局部化“窗函数”g(t),改进了傅立叶变换的不足,形成窗口化傅立叶变换,又称“Gabor 变换”。 定义“窗函数”(t)g 在有限的区间外恒等于零或很快地趋于零,用函数(t )g -τ乘以(t)f ,其效果等同于在t =τ附近打开一个窗口,即: ()()()dt e t g t f G t j f ωττω-+∞ ∞--=?, (4-3) 式(4-3)即为函数f(t)关于g(t)的Gabor 变换。由定义可知,信号(t)f 的Gabor 变换可以反映该信号在t =τ附近的频谱特性。其逆变换公式为: ()()()ττωτωπ ωd G t g e d t f f t j ,21 ? ?+∞ ∞ --- = (4-4) 可见()τω,f G 的确包含了信号(t)f 的全部信息,且Gabor 窗口位置可以随着 τ的变化而平移,符合信号时频局部化分析的要求。 虽然Gabor 变换一定程度上克服了傅立叶变换缺乏时频局部分析能力的不

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

连续小波变换的概念

连续小波变换的概念swt,cwt,dwt 1。连续小波的概念。就是把一个可以称作小波的函数(从负无穷到正无穷积分为零)在某个尺度下与待处理信号卷积。改变小波函数的尺度,也就改变了滤波器的带通范围,相应每一尺度下的小波系数也就反映了对应通带的信息。本质上,连续小波也就是一组可控制通带范围的多尺度滤波器。 2。连续小波是尺度可连续取值的小波,里面的a一般取整数,而不像二进小波a取2的整数幂。从连续小波到二进小波再到正交离散小波,其实就是a、b都连续,a不连续、b连续,a、b都不连续的过程。操作他们的快速算法也就是卷积(快速傅里叶),多孔(a trous),MALLAT。在MATLAB里,也就是CWT,SWT,DWT。SWT称平稳小波变换、二进小波变换、或者非抽取小波变换。3。从冗余性上:CWT>SWT>DWT,前面两个都冗余,后面的离散小波变换不冗余。 4。从应用上:CWT适合相似性检测、奇异性分析;SWT适合消噪,模极大值分析;DWT适合压缩。 5。操作。就是在某个尺度上得到小波的离散值和原信号卷积,再改变尺度重新得到小波的离散值和原信号卷积。每一个尺度得到一个行向量存储这个尺度下的小波系数,多个尺度就是一个矩阵,这个矩阵就是我们要显示的时间-尺度图。 6。显示。“不要认为工程很简单”。我的一个老师说过的话。小波系数的显示还是有技巧的。很多人画出的图形“一片乌黑”就是个例子。第一步,一般将所有尺度下的小波系数取模;第二步,将每个尺度下的小波系数范围作映射,映射到你指定MAP的范围,比如如果是GRAY,你就映射到0-255;第三步,用IMAGE命令画图;第四步,设置时间和尺度坐标。MATLAB是个很专业的软件,它把这些做的很好,但也就使我们懒惰和糊涂,我是个好奇心重的人就研究了下。里面有个巧妙的函数把我说的(1,2)两个步骤封装在了一起,就是WCODEMAT,有兴趣的同学可以看看。 希望大家深入研究小波。 这里,还有要说的是,小波目前理论的热点: 1。不可分的小波或者具有可分性质的方向性小波; 2。XLET: CONTOURLET, WEDGELET, SHEARLET, BANDELET, RIDGELET, CURVELET; PLATELET. 3。多分辨率分析+多尺度几何分析的结合,才真正是我们所需要的。比如小波域的WEDGELET等等。 最后,几点建议: 1。理论研究和实际应用不同,工程上很多问题小波并不是最好的,在做项目的时候大家要实际情况,实际对待。

MATLAB小波变换指令及其功能介绍(超级有用).

MATLAB 小波变换指令及其功能介绍 1 一维小波变换的 Matlab 实现 (1 dwt函数 功能:一维离散小波变换 格式:[cA,cD]=dwt(X,'wname' [cA,cD]=dwt(X,Lo_D,Hi_D别可以实现一维、二维和 N 维 DFT 说明:[cA,cD]=dwt(X,'wname' 使用指定的小波基函数 'wname' 对信号X 进行分解,cA 、cD 分别为近似分量和细节分量; [cA,cD]=dwt(X,Lo_D,Hi_D 使用指定的滤波器组 Lo_D、Hi_D 对信号进行分解。 (2 idwt 函数 功能:一维离散小波反变换 格式:X=idwt(cA,cD,'wname' X=idwt(cA,cD,Lo_R,Hi_R X=idwt(cA,cD,'wname',L函数 fft、fft2 和 fftn 分 X=idwt(cA,cD,Lo_R,Hi_R,L 说明:X=idwt(cA,cD,'wname' 由近似分量 cA 和细节分量 cD 经小波反变换重构原始信号 X 。 'wname' 为所选的小波函数 X=idwt(cA,cD,Lo_R,Hi_R 用指定的重构滤波器 Lo_R 和 Hi_R 经小波反变换重构原始信号 X 。

X=idwt(cA,cD,'wname',L 和 X=idwt(cA,cD,Lo_R,Hi_R,L 指定返回信号 X 中心附近的 L 个点。 2 二维小波变换的 Matlab 实现 二维小波变换的函数别可以实现一维、二维和 N 维 DFT 函数名函数功能 --------------------------------------------------- dwt2 二维离散小波变换 wavedec2 二维信号的多层小波分解 idwt2 二维离散小波反变换 waverec2 二维信号的多层小波重构 wrcoef2 由多层小波分解重构某一层的分解信号 upcoef2 由多层小波分解重构近似分量或细节分量 detcoef2 提取二维信号小波分解的细节分量 appcoef2 提取二维信号小波分解的近似分量 upwlev2 二维小波分解的单层重构 dwtpet2 二维周期小波变换 idwtper2 二维周期小波反变换 ----------------------------------------------------------- (1 wcodemat 函数 功能:对数据矩阵进行伪彩色编码函数 fft、fft2 和 fftn 分格式: Y=wcodemat(X,NB,OPT,ABSOL Y=wcodemat(X,NB,OPT Y=wcodemat(X,NB

论文管理系统的设计与实现

论文管理系统的设计与实现 1绪论 1.1引言 1.1引言 随着时代的进步,网络已经成为人们生活中不可缺少的一部分。人们对网络经历了由陌生到熟悉的过程,网络为人们的生活、学习、工作提供了极大的方便。高等学校可以通过网络了解教育动态,发布教育信息,进行网络化管理。教师可以通过网络获得教学资源,进行教学经验交流,开展网络教学。借助于网络环境下的管理软件完成复杂的管理工作是目前软件开发的一个重要课题。学校、企业、事业单位的管理系统、信息系统几乎无处不在,这些软件不但具有对相应的事务进行管理的功能,而且使用起来简单、方便,简化了工作流程,提高了工作效率。 在Internet普及的今天,绝大多数高等学校建立了自己的校园网站。学校通过网站可以展示教育成果,发布教育信息,与学生和家长进行交流和沟通,与其它院校建立联系,了解全球教育动态,开展网络教学活动等。基于网络环境的管理系统是构成学校数字化校园的一个重要组成部分。校园网担负着双重作用,一方面可以用来动态发布教育和科研信息,对学校事务进行管理;另一方面又可以及时向学生、家长及社会征求意见,进行课堂外的互动,促进学校教育的发展。 1.2研究意义 本课题来源于高校对毕业论文管理系统的实际需要,目标是提高院系对毕业生毕业设计全程监控、对毕业设计前期、中期、后期工作情况进行检查等相关工作的效率,并围绕此管理目标对系统所需要的各毕业生基本信息、课题基本信息、学生毕业设计完成情况基本信息、指导教师指导情况基本信息、系统后台数据库等进行管理和维护。系统开发的总体任务是实现毕业论文整个进程管理工作的流程化、系统化和规范化。 本课题涉及的知识有:面向对象程序设计,计算机网络基础,Web程序设计(熟悉https://www.doczj.com/doc/1d9402822.html,),网页制作基础(熟悉网页制作工具软件),数据库原理,https://www.doczj.com/doc/1d9402822.html,集成开发环境,SQLServer数据库,信息管理系统等。

C语言 个关键字九种控制语句 种运算符

总结归纳了C语言的32个关键字 第一个关键字:auto 用来声明自动变量。可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未知的值。 例:auto int name=1; 第二个关键字:static 用来声明静态变量。可以显式的声明变量为静态变量。也为局部变量。只在声明它的函数内有效。它的生命周期从程序开始起一直到程序结束。而且即使使用完毕后,它的值仍旧不还原。即使没有给静态变量赋值,它也会自动初始化为0. 例:static int name=1. 第三个关键字:extern 用来声明全局变量。同时声明在main函数之前的变量也叫全局变量。它可以在程序的任何地方使用。程序运行期间它是一直存在的。全局变量也会初始化为0. 例:extern int name; 第四个关键字:register 用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。对于需要频繁使用的变量使用它来声明会提高程序运行速度。 例:register int name=1; 第五个关键字:int 用来声明变量的类型。int为整型。注意在16位和32位系统中它的范围是不同的。16位中占用2个字节。32位中占用4个字节。还可以显式的声明为无符号或有符号: unsigned int或signed int .有符号和无符号的区别就是把符号位也当作数字位来存储。也可用short和long来声明为短整型,或长整行。 例:int num; 第六个关键字:float 用来声明变量的类型。float为浮点型,也叫实型。它的范围固定为4个字节。其中6位为小数位。其他为整数位。 例:float name;

最新毕业论文--网上书店系统的设计与实现

*********软件技术学院 毕业设计(论文) 题目:网上书店系统的设计与实现系别:软件技术 专业:ACCP 学号: 姓名: 指导老师: 完成日期:2009 年 3 月 5 日

目录 目录 (2) 前言 (4) 需求分析 (5) 一、用户需求分析 (6) 1.图书查询需求 (6) 2.购物车管理需求 (6) 3.订单处理需求 (6) 4.管理员与客户的分类功能 (6) 系统开发技术 (7) 一、MVC模式简介 (8) 1.电子商务概况摘要 (9) 系统总体设计 (10) 1.UML活动关系图 (11) 2.系统组成 (12) 3.功能设计 (12) (1)图书信息管理 (12) (2)购物车管理 (12) (3)会员注册 (12) (4)订单处理 (13) 数据库设计与实现 (13) 一、数据库的需求分析 (14) 1.数据库的逻辑设计 (14) 2.数据表基本结构 (16) 3.创建数据表脚本 (17) 系统实现过程 (18) 开发平台 (19) 一、系统各组件实现 (19) 用户表示层 (19) 系统测试与运行 (27)

一、系统测试 (27) 二、测试结果 (27) 结论 (30) 参考文献 (31) 谢辞 (32) 毕业设计(论文)成绩评定表(理科)....... 错误!未定义书签。

前言 随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。 所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点,一是其商业背景,二是网络化和数字化。简言之,电子商务就是通过电子网络渠道达成的商务活动。 电子商务是计算机网络的第二次革命,它通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。对于电子商务的研究始于20世纪70年代末,而其实施要更晚些,实施又分为两步,其中电子数据交换(Electronic Data Interchange,EDI)始于20世纪80年代中期,Internet上的电子商务始于20世纪90年代初期。电子商务活动相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。根据统计,目前电子商务活动中80%的收属于B2B型商务活动,这由于企业组织的信息化程度和技术水平比个体消费者明显要高,主要面向的是企业与企业,为企业提供进行采购、销售和结算等业务的平台。B2C则是我们最熟悉的,它直接面向终端的大众消费者。它通常也有两种形式,一种是类似一个大的超市,里面摆放着大量的商品,提供给消费者直接去选择购买;而另一种形式则类似一个大商城,商城中有许多柜台,用户可以直接到柜台选择和购买自己中意的东西,然后去结算,这种商城只提供柜台和相关的服务,并收取相应的柜台使用费。 一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。信息流就是通过电子网络向客户揭示所售商品的相关信息,引导客户通过网络进行购物。资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款等多种形式。目前有些电子商务网站也可以接受邮局汇款。物流就是把客户

离散小波变换

长期以来,离散小波变换(Discrete Wavelet Transform)在数字信号处理、石油勘探、地震预报、医学断层诊断、编码理论、量子物理及概率论等领域中都得到了广泛的应用。各种快速傅氏变换(FFT)和离散小波变换(DWT)算法不断出现,成为数值代数方面最活跃的一个研究领域,而其意义远远超过了算法研究的范围,进而为诸多科技领域的研究打开了一个崭新的局面。本章分别对FFT 和DWT 的基本算法作了简单介绍,若需在此方面做进一步研究,可参考文献[2]。 1.1 离散小波变换DWT 1.1.1 离散小波变换DWT 及其串行算法 先对一维小波变换作一简单介绍。设f (x )为一维输入信号,记)2(2)(2/k x x j j jk -=--φφ, )2(2)(2/k x x j j jk -=--ψψ,这里)(x φ与)(x ψ分别称为定标函数与子波函数,)}({x jk φ与 )}({x jk ψ为二个正交基函数的集合。记P 0f =f ,在第j 级上的一维离散小波变换 DWT(Discrete Wavelet Transform)通过正交投影P j f 与Q j f 将P j -1f 分解为: ∑∑+=+=-k k jk j k jk j k j j j d c f Q f P f P ψφ1 其中:∑ =-=-+1 1 2)(p n j n k j k c n h c ,∑=-=-+1 1 2)(p n j n k j k c n g d )12,...,1,0,,...,2,1(-==j N k L j ,这里,{h (n )}与{g (n )}分别为低通与高通权系数,它们由基函数)}({x jk φ与)}({x jk ψ 来确定,p 为权系数 的长度。}{0 n C 为信号的输入数据,N 为输入信号的长度,L 为所需的级数。由上式可见,每级一维DWT 与一维卷积计算很相似。所不同的是:在DWT 中,输出数据下标增加1时,权系数在输入数据的对应点下标增加2,这称为“间隔取样”。 算法 一维离散小波变换串行算法 输入:c 0 =d 0 (c 00 , c 10 ,…, c N-10 ) h=(h 0, h 1,…, h L-1) g=(g 0, g 1,…, g L-1) 输出:c i j , d i j (i=0, 1,…, N/2j-1 , j ≥0)

C语言循环程序设计for语句教学案例

《C语言循环程序设计—for语句》教学案例漠河县职业技术学校尘威威

《C语言循环程序设计—for语句》教学案例 漠河县职业技术学校尘威威 C语言基础是中职计算机专业的一门必修课,也是要求计算机专业学生学习、掌握的一门重点课程,这门课程核心内容就是要让学生掌握一门编程的语言,学会编写简单的程序,能读懂C语言源程序。 案例背景: 在计算机应用专业教学中,C语言是一门理论与实践结合得比较紧的课程。要掌握和使用好这门语言,既要求学生有比较扎实的理论基础,又要具备较强的应用实践能力。如果只是按照传统的知识体系照本宣科,让学生理解这些枯燥的概念都难,更不要说达到良好的教学效果,而且易挫伤学生学习编程的积极性。因此,在教学中可以改为从案例入手,通过给学生演示、让学生模仿,在实际应用中去探究和领悟这些概念,并适时地加以归纳总结和进行概念的延伸,让学生在轻松愉快的气氛中学习新知识。所以从课程内容而言,案例教学是适用的,是切合学生的。 循环结构是程序设计三种基本结构的重中之重,而循环中的for 循环是程序中运用最多的,也是较灵活的语句之一,它既是前面知识的延续,又是后面知识的基础,在知识构架中起着重要的衔接作用,如果不采用一些恰当有效的方法,学生在学习过程中会难以掌握。在教学过程中教师应结合一些有趣的程序,提高学生的学习兴趣,引导

学生全身心地投入课堂。本文针对学生的实际情况,具体阐述for循环语句在具体编程时的灵活应用。 教学目标确定 (一)知识与技能 1、领会程序设计中构成循环的方法 2、能使用for循环语句编写C语言语句,并能运用for循环语句编写出正确的程序。 (二)过程与方法 C语言程序设计中for循环语句教学以行动导向教学为主线,通过“提出问题―分析问题―解决问题―问题扩展―讨论―总结归纳―实践”的程序,过渡到知识应用和练习。 本课采用多媒体课件进行教学,通过课件把文字和图片有机的结合,使学生在学习过程中更加容易理解,学习效率高。在课堂讨论和实践过程中,教师适当引导,学生主动探究、归纳总结学习内容,既有利于领会掌握新知识点,又能充分发挥学生的主体作用。在重点的突破上,采用范例比较教学法,给出具体的案例,让学生通过典型的例子掌握知识,同时通过用while、do while语句的所编写的程序进行比较,加深学生印象,让学生快速的掌握for循环语句的基本结构及使用方法。 (三)情感与价值观 1.让学生在自主解决问题的过程中培养成就感,为今后自主学习打下良好的基础。

即时通讯系统的设计与实现毕业设计论文

毕业论文 论文题目:即时通讯系统的设计与实现

开题报告 论文题目: 姓名:_____________ 学号:________________ 学院:___________________ 开题报告正文应包含以下几方面的内容: 1.1 论文选题的目的和意义 近年来,随着Internet的飞速发展,计算机网络得到了越来越广泛的应用,并且已经逐步走进千家万户。自迈入信息时代以来,距离已经不再是人们之间联络沟通的障碍,也正因为如此,人们对沟通交流的需求和依赖也越来越强烈,各行各业对信息交流的要求也越来越高。如今,通过各种即时通信软件,人们已经可以在足不出户的情况下,与远距离甚至世界各地的人进行实时的聊天交流,这样的交流不仅满足了人们对交流沟通的需求,同时也给人与人之间的交流带来了极大的便捷和大量的经济节省。因此,即时通信(Instant Messaging)在人们的生活工作和学习中得到了更广泛的应用。 目前,已经有不少即时通信软件在社会公众中流行,像MSN,腾讯QQ,新浪UC等,都是国内人们所熟知的知名流行即时通信软件,其技术方面也都处于国际领先水平。同时,由于即时通信软件的便利,其应用已经由最初的简单的聊天交友得到了巨大的拓展。适应各种场合的各式即时通信软件也开始出现在软件市场上,这就包括了一些与企业管理相关的即时通信软件,一个具有企业自己特色的集信息管理和即时通信为一体的内部应用软件,能够使一个企业或者团队更像一个整体,同时也能够给企业的管理和信息交流带来极大的便利,在一定程度上提高工作效率。 同样的,对于软件设计与开发的行业来说,过去的那种仅适用于PC机上的应用程序的开发已经远远不能满足市场的多样化的需求,网络程序的广泛应用和广大需求使学习与掌握与网络相关的编程技术显得尤为重要。 本论文将结合一个具体的局域网即时通信系统的开发编写,以现有的各种技术,介绍讲解网络IM软件开发中的重要知识,并讨论其中关键环节的技术问题和各种解决方案和设计策略

C语言循环结构测习题带答案

精心整理 第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ?break和continue语句在循环语句中的应用 ? ? ? ? 1. C. A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; } while(!x);

A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 (6)下列语句段中不是死循环的是__C__。 A.i=100; while(1) { i=i%100+1; if(i==20)break; } B.for(i=1;;i++) sum=sum+1; C. C. COUT< main() { intnum=0; while(num<=2) {

num++; cout< else ++i; }while(s<15); Cout< main() { inti,j; for(i=4;i>=1;i--) {

相关主题
文本预览
相关文档 最新文档