matlab小波工具箱及其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab小波工具箱的相关应用
09信息02班玺瑞孟魄 20092294
前言
在传统的傅里叶分析中,信号是完全在频域展开的,不包含任何时域的信息,这对于某些应用来说是恰当的,因为信号的频率信息对其是非常重要的。但其丢弃的时域信息可能对某些应用非常重要,所以人们对傅里叶分析进行了推广,如短时傅里叶变换,但是短时傅里叶变换只能在一个分辨率上进行,所以对很多应用来说还不够精确,存在很大的缺陷。
而小波分析则克服了短时傅里叶变换在单分辨率上的缺陷,具有多分辨率分析的特点,在时域和频域都有表征信号局部信息的能力,所以小波运用广泛应用于各个时域分析领域,而matlab小波工具箱正是处理小波变换的一个有用工具。
在matlab中,小波工具箱提供了两种实现方式,命令行方式和图形方式[1]。命令方式比较灵活,可以看到具体的处理过程,适合对于matlab比较熟悉的人。而图形方式(GUI, Graphical User Interface)操作简便,界面友好,对于matlab初学者或是不熟悉小波分析具体过程的人来说,GUI是最佳选择。GUI的主要问题是处理模式相对固定,不如命令行凡是灵活,而且可视化的操作模式看不到具体的操作机制。
本实验运主要进行了,一维小波变换,二维小波变换,图像压缩,图像降噪,边缘提取,图像扩展等操作。
通过本次试验,从命令行方式和GUI方式两个方面,运用到了matlab小波工具箱的部分功能,一方面熟悉了matlab小波工具箱,另一方面,通过matlab 对图像的处理方式,加深了对《数字图像处理》中“数字”的理解。
方法
一维离散小波变换公式[2]
对于还有
其中表示近似值或尺度系数,表示细节或小波系数,,,)是离散变量的函数。
一维连续小波变换
连续的平方可积函数的连续小波变换与实数值的小波的关系如下
其中,
和分别成为尺度和变换参数。给定,可以通过反连续小波变换求得:其中,
是的傅里叶变换。
二维小波变换
在二维情况下,需要一个二维尺度函数和三个二维小波和。每个都是一位尺度函数和相应的小波函数的乘积。排除产生一维结果的乘积,如,4个留下的乘积产生可分离的尺度函数
(1)
和可分离的“方向敏感的”小波
首先定义一个尺度和平移基函数
,
其中,上标之处(2)和(4)的方向小波,与指数不同,上标i代表了值H,V,和D。那么,尺寸为M*N的函数的离散小波是
给出式(7)和式(8)的和,可通过离散反小波变换得到,即
小波降噪
小波分析用于降噪的过程,可细分为如下几段:
(1)分解过程:选定一种小波,对信号进行N层小波分解;
(2)作用阈值过程:对分解得到的各层系数选择一个阈值,并对细节系数作用软阈值处理;
(3)重建工程:将处理后的系数通过小波重建恢复原始信号。
均值滤波[3]:
均值滤波也成线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替中心像素的灰度。
中值滤波:
基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。
中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。
实验
实验所用图片:
图1 原始图像与噪声图像
图片尺寸:384*512
大小:576kb
宽度:384像素
高度:512像素
位深度:24
所用计算机:acer Aspire4741G
Cpu:英特尔酷睿i3双核处理器370M(2.4Hz)
显卡:nvidia geforce gt 415M 独立显卡
在matlab command window 输入wavemenu回车,则出现wavelet toolbox main menu,如下
图2小波工具箱GUI界面
一维离散小波变换
信号noissin使用哈尔小波函数经行尺度位3的一维小波变换:
图3左图为使用GUI对信号noissin进行的变换,右图为使用命令行进行的相同变换一维连续小波变换
图4
图5连续小波变换的深度图
图6 noissin信号在haar小波下的连续小波变换的三维图(尺度1:48,位移1:1000)
二维小波变换
在命令窗口中读取图片后,可以看到,图片在matlab中以二维矩阵的方式存储的:
图8
二维小波变换(哈尔小波,尺度为2)
图9 原始图像
图10 使用小波工具箱GUI得到的变换图
图11 使用命令行窗口得到的变换图
从图中可以看出,使用两种方式,处理的结果都一样,但是GUI操作更简洁,了解变换的具体过程,而且各层图像之间的切换十分方便,但是处理方式不够灵活。使用命令行处理时,可以看到变换的过程,还可以得出变换过程中的各项参数,而且可以灵活处理,但是要求对算法掌握得比较好,对matlab的相关命令比较熟悉。
直方图统计
图12 原始图像的直方图统计图像压缩
图13
图14 原始图像与压缩后的图像
图14中两幅图看起来好像没什么区别,但在放大之后,可以明显的感觉到第二附图被压缩了。
二维小波包变换
图15
边缘提取[4]
图16
图像扩展
图17 左图为对称扩展,右图为连续扩展降噪
图18 使用GUI降噪的图像