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层小波分解;tool工具箱
(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进行的变换,右图为使用命令行进行的相同变换
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论