基于Matlab的小波分析在图像处理中的应用_第1页
基于Matlab的小波分析在图像处理中的应用_第2页
基于Matlab的小波分析在图像处理中的应用_第3页
基于Matlab的小波分析在图像处理中的应用_第4页
基于Matlab的小波分析在图像处理中的应用_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Matlab的小波分析在图像处理中的应用摘要:本文先介绍了小波分析得基本理论,包括连续小波变换、离散小波变换和小波包分析。小波变换具有时频局部化的特点,因此不但能对图像提供较精确的时域定位,也能提供较精确的频域定位。经过小波变换的图像具有频谱划、方向选择、多分辨率分析和天然塔式数据结构特点。基于小波变换这些特性,讨论了MATLAB语言环境下图像压缩,图像去噪,图像融合,图像分解,图像增强的基本方法。关键词:小波分析;图像压缩;图像去噪;图像融合;图像分解;图像增强1 引言小波分析诞生于20世纪80年代, 被认为是调和分析即现代Fourier分析发展的一个崭新阶段。众多高新技术以数学为基础,

2、而小波分析被誉为“数学显微镜”,这就决定了它在高科技研究领域重要的地位。目前, 它在模式识别、图像处理、语音处理、故障诊断、地球物理勘探、分形理论、空气动力学与流体力学上的应用都得到了广泛深入的研究,甚至在金融、证券、股票等社会科学方面都有小波分析的应用研究。在传统的傅立叶分析中,信号完全是在频域展开的,不包含任何时频的信息,这对于某些应用来说是很恰当的,因为信号的频率的信息对其是非常重要的。但其丢弃的时域信息可能对某些应用同样非常重要,所以人们对傅立叶分析进行了推广,提出了很多能表征时域和频域信息的信号分析方法,如短时傅立叶变换,Gabor变换,时频分析,小波变换等。其中短时傅立叶变换是在傅

3、立叶分析基础上引入时域信息的最初尝试,其基本假定在于在一定的时间窗内信号是平稳的,那么通过分割时间窗,在每个时间窗内把信号展开到频域就可以获得局部的频域信息,但是它的时域区分度只能依赖于大小不变的时间窗,对某些瞬态信号来说还是粒度太大。换言之,短时傅立叶分析只能在一个分辨率上进行。所以对很多应用来说不够精确,存在很大的缺陷。而小波分析则克服了短时傅立叶变换在单分辨率上的缺陷,具有多分辨率分析的特点,在时域和频域都有表征信号局部信息的能力,时间窗和频率窗都可以根据信号的具体形态动态调整,在一般情况下,在低频部分(信号较平稳)可以采用较低的时间分辨率,而提高频率的分辨率,在高频情况下(频率变化不大

4、)可以用较低的频率分辨率来换取精确的时间定位。 本文介绍了小波变换的基本理论,并介绍了一些常用的小波函数,它们的主要性质包括紧支集长度、滤波器长度、对称性、消失矩等,都做了简要的说明。然后研究了小波分析在图像处理中的应用,包括图像压缩,图像去噪,图像融合,图像分解,图像增强等。2 小波分析的基本理论2.1 连续小波变换定义:设,其傅立叶变换为,当满足允许条件(完全重构条件或恒等分辨条件) 350) c(i)=2*c(i); else c(i)=0.5*c(i); endend%下面对处理后的系数进行重构xx=waverec2(c,s,sym4);%画出重构后的图像subplot(122);im

5、age(xx);colormap(map);title(增强图像);axis square输出结果如图所示:图10 小波分析用于图像增强本文将主要讨论图像增强中的钝化和锐化两种方法,钝化操作主要是提出图像中的低频成分,抑制尖锐的快速变化成分,锐化操作正好相反,将图像中尖锐的部分进可能得提取出来,用于检测和识别等领域。下面将以例子说明这两种方法在Matlab中的实现,并对于基于傅立叶变换的传统频域方法同小波方法做一下比较。4.3.2 图像钝化图像钝化在时域中的处理相对简单,只需要对图像作用一个平滑滤波器,使得图像中的每个点与其相邻点做平滑即可,这里不做详细介绍,我们来介绍一下基于傅立叶变换的频域

6、处理方法。下面我们以chess信号为例,通过两种方法对图像钝化的结果做一下比较。load chess分别保存用DCT方法和小波方法的变换系数blur1=X;blur2=X;对原图像做二维离散余弦变换ff1=dct2(X);对变换结果在频域做BUTTERWORTH滤波for i=1:256 for j=1:256 ff1(i,j)=ff1(i,j)/(1+(i*j+j*j)/8192)2); endend重建变换后的图像blur1=idct2(ff1);对图像做2层的二维小波分解c,l=wavedec2(X,2,db3);csize=size(c);对低频系数进行放大处理,并抑制高频系数for

7、i=1:csize(2); if(c(i)300) c(i)=c(i)*2; else c(i)=c(i)/2; endend通过处理后的小波系数重建图像blur2=waverec2(c,l,db3);显示三幅图像subplot(221);image(wcodemat(X,192);colormap(gray(256);title(原始图像,fontsize,18);subplot(223);image(wcodemat(blur1,192);colormap(gray(256);title(采用DCT方法钝化图像,fontsize,18);subplot(224);image(wcodema

8、t(blur2,192);colormap(gray(256);title(采用小波方法钝化图像,fontsize,18);图11 图像钝化从图中可以看出,采用DCT在频域做滤波的方法得到钝化结果更为平滑,这是因为其分辨率最高,而小波方法得到的结果在很多地方有不连续的现象,因为我们对系数做放大或抑制在阈值两侧有间断,而且分解层数很低,没有完全分离出频域的信息。而且我们在做系数放大或抑制的时候,采用的标准是根据系数绝对值的大小,没有完全体现出其位置信息,但是在小波系数中,我们很容易在处理系数的过程中加入位置信息。 4.3.3 图像锐化与图像钝化所做的工作相反,图像锐化的任务是突出高频信息,抑制低

9、频信息,从快速变化的成分中分离出标识系统特性或区分子系统边界的成分,以便于进一步的识别、分割等操作。在时域(空域)中,锐化的方法不外乎是作用掩码或做差分,同钝化的道理一样,无论是掩码和差分都很难识别点之间的关联信息,我们下面的例子同样是在频域完成的,用传统的傅立叶分析方法(这里采用的是DCT变换)得到的频域系数。load chess;分别保存用DCT方法和小波方法的变换系数blur1=X;blur2=X;对原图像做二维离散余弦变换ff1=dct2(X);对变换结果在频域做BUTTERWORTH滤波for i=1:256 for j=1:256 ff1(i,j)=ff1(i,j)/(1+(327

10、68/(i*i+j*j)2); endend重建变换后的图像blur1=idct2(ff1);对图像做2层的二维小波分解c,l=wavedec2(X,2,db3);csize=size(c);对低频系数进行放大处理,并抑制高频系数for i=1:csize(2); if(abs(c(i)100) X2(i,j)=1.2*X2(i,j); else X2(i,j)=0.5*X2(i,j); end endendsubplot(222);image(X2);colormap(map2);title(wbarb);axis square%用小波函数sym4对X1进行2层小波分解c1,s1=waved

11、ec2(X1,2,sym4);%对分解系数进行处理以突出轮廓部分,弱化细节部分sizec1=size(c1);for i=1:sizec1(2) c1(i)=1.2*c1(i);end%用小波函数sym4对X2进行2层小波分解c2,s2=wavedec2(X2,2,sym4);%下面进行小波变换域的图像融合c=c1+c2;%减小图像亮度c=0.5*c;%对融合的系数进行重构xx=waverec2(c,s1,sym4);%画出融合后的图像subplot(223);image(xx);title(融合图像);axis square输出结果如图:图13 小波分析用于图像融合4.5 小波分析用于图像分

12、解 回顾从一维离散小波变换到二维的扩展,二维静态小波变换采用相似的方式。对行和列分别采用高通和低通滤波器。这样分解的结果仍然是四组图像、近似图像、水平细节图像、竖直细节图像和对角图像,与离散小波变换不同的只是静态小波分解得到的四幅图像与原图像尺寸一致,道理与一维情况相同。二维离散小波变换同样只提供了一个函数swt2,因为它不对分解系数进行下采样,所以单层分解和多层分解的结果是一样的。不需要另外提供多层分解的功能。下面举一个用命令行使用swt命令的例子,大家可以对比它和dwt处理结果的区别,在命令行下键入:load noiswomswa,swh,swv,swd=swt2(X,3,db1);使用d

13、b1小波对noiswom图像进行三层静态小波分解whos可以看出,swt2所小波分解同样不改变信号的长度,原来的9696的图像做了三层分解以后,分解系数是12个9696的图像。colormap(map)kp=0;for i=1:3subplot(3,4,kp+1),image(wcodemat(swa(:,:,i),192);title(Approx,cfs,level,num2str(i)显示第i层近似系数图像,以192字节为单位编码 subplot(3,4,kp+2),image(wcodemat(swh(:,:,i),192);title(Horiz.Det.cfs level,num2

14、str(i)subplot(3,4,kp+3),image(wcodemat(swv(:,:,i),192); title(Vert.Det.cfs level,num2str(i)subplot(3,4,kp+4),image(wcodemat(swd(:,:,i),192);title(Diag.Det.cfs level,num2str(i)kp=kp+4;end显示的结果如图所示,由于分解过程中没有改变信号的长度,所以在显示近似和细节系数时不需要重建。图14 小波分析用于图像分解同idwt2的类似,Matlab对二维静态小波重建提供了iswt2命令,同idwt的去边也同一维情况类似,对

15、经过重建滤波后的信号不做上采样(因为近似系数和细节系数大小都与原信号一致)。同一维的静态小波重建一样,我将用例子说明如何将iswt2单纯用做滤波器来实现各层系数的重建,与一维的情况不同的只是为了重建第j层近似系数,需要4次用到iswt2作为重建滤波器对第j+1层的系数进行滤波,在对某一个近似系数滤波的过程中,同样需要把其他的三个系数指定为0。为了便于比较,本例接上面的二维静态分解的例子,直接利用对noiswom的分解结果,从中重建各级系数。load noiswomswa,swh,swv,swd=swt2(X,3,db1);使用db1小波对noiswom图像进行三层小波分解mzero=zeros

16、(size(swd);A=mzero;A(:,:,3)=iswt2(swa,mzero,mzero,mzero,db1);使用iswt2的滤波器功能,重建第3层的近似系数,为了避免iswt的合成运算,注意在重建过程中,应保证其他各项系数为零。H=mzero;V=mzero;D=mzero;for i=1;3swcfs=mzero;swcfs(:,:,i)=swh(:,:,i);H(:,:,i)=iswt2(mzero,swcfs,mzero,mzero,db1);swcfs=mzero;swcfs(:,:,i)=swv(:,:,i);V(:,:,i)=iswt2(mzero,mzero,swc

17、fs,mzero,db1);swcfs=mzero;swcfs(:,:,i)=swh(:,:,i);H(:,:,i)=iswt2(mzero,mzero,mzero,swcfs,db1);end分别重建13级的各个细节系数,同样在重建某一吸收的时候,要令其他系数为0A(:,:,2)=A(:,:,3)+H(:,:,3)+V(:,:,3)+D(:,:,3);A(:,:,1)=A(:,:,2)+H(:,:,2)+V(:,:,2)+D(:,:,2);使用递推的方法建立地1层和第2层近似系数colormap(map)kp=0;for i=1:3subplot(3,4,kp+1),image(wcodem

18、at(A(:,:,i),192);title(第,num2str(i),层近似系数图像)subplot(3,4,kp+2),image(wcodemat(H(:,:,i),192);title(第,num2str(i),层水平细节系数图像)subplot(3,4,kp+3),image(wcodemat(V(:,:,i),192);title(第,num2str(i),层竖直细节系数图像)subplot(3,4,kp+4),image(wcodemat(D(:,:,i),192);title(第,num2str(i),层对角细节系数图像)kp=kp+4;end画出通过手工方法重建的各级小波系数图像err=norm(A(:,:,2)-swa(:,:,2)求出用这种算法重建的第2层近似系数和分解系数之间的误差err=2.9242e+004显示的结果如图图15 在db1小波下各级静态小波重建系数5 总结 本文主要结合小波变换的基本概念和基本原理,详细讨论小波在图像处理领域的应用,并结合MATLAB程序设计语言来说明其应用。第一个重点是了解小波变换和小波分析的理论和方法。主要研究了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论