基于Matlab的小波分析在图像处理中的应用

上传人:飞*** 文档编号:30982002 上传时间:2018-02-03 格式:DOC 页数:25 大小:1.15MB
返回 下载 相关 举报
基于Matlab的小波分析在图像处理中的应用_第1页
第1页 / 共25页
基于Matlab的小波分析在图像处理中的应用_第2页
第2页 / 共25页
基于Matlab的小波分析在图像处理中的应用_第3页
第3页 / 共25页
基于Matlab的小波分析在图像处理中的应用_第4页
第4页 / 共25页
基于Matlab的小波分析在图像处理中的应用_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于Matlab的小波分析在图像处理中的应用》由会员分享,可在线阅读,更多相关《基于Matlab的小波分析在图像处理中的应用(25页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

5、出重构后的图像subplot(122);image(xx);colormap(map);title(增强图像);axis square输出结果如图所示:一 一 一 一20 40 60 80 100 12020406080100120一 一 一 一20 40 60 80 100 12020406080100120图10 小波分析用于图像增强本文将主要讨论图像增强中的钝化和锐化两种方法,钝化操作主要是提出图像中的低频成分,抑制尖锐的快速变化成分,锐化操作正好相反,将图像中尖锐的部分进可能得提取出来,用于检测和识别等领域。下面将以例子说明这两种方法在 Matlab 中的实现,并对于基于傅立叶变换的传

6、统频域方法同小波方法做一下比较。4.3.2 图像钝化图像钝化在时域中的处理相对简单,只需要对图像作用一个平滑滤波器,使得图像中的每个点与其相邻点做平滑即可,这里不做详细介绍,我们来介绍一下基于傅立叶变换的频域处理方法。下面我们以 chess 信号为例,通过两种方法对图像钝化的结果做一下比较。load chess分别保存用DCT方法和小波方法的变换系数blur1=X;blur2=X;对原图像做二维离散余弦变换ff1=dct2(X);对变换结果在频域做BUTTERWORTH滤波for i=1:256for j=1:256ff1(i,j)=ff1(i,j)/(1+(i*j+j*j)/8192)2);

7、end18end重建变换后的图像blur1=idct2(ff1);对图像做2层的二维小波分解c,l=wavedec2(X,2,db3);csize=size(c);对低频系数进行放大处理,并抑制高频系数for i=1:csize(2);if(c(i)300)c(i)=c(i)*2;elsec(i)=c(i)/2;endend通过处理后的小波系数重建图像blur2=waverec2(c,l,db3);显示三幅图像subplot(221);image(wcodemat(X,192);colormap(gray(256);title(原始图像,fontsize,18);subplot(223);im

8、age(wcodemat(blur1,192);colormap(gray(256);title(采用DCT方法钝化图像,fontsize,18);subplot(224);image(wcodemat(blur2,192);colormap(gray(256);title(采用小波方法钝化图像,fontsize,18);一一一一50 100 150 200 25050100150200250一一DCT一一一一一一50 100 150 200 25050100150200250一一一一一一一一一一50 100 150 200 25050100150200250图11 图像钝化从图中可以看出,采

9、用 DCT 在频域做滤波的方法得到钝化结果更为平滑,这是因为其分辨率最高,而小波方法得到的结果在很多地方有不连续的现象,因为我们对系数做放大或抑制在阈值两侧有间断,而且分解层数很低,没有完全分离出频域的信息。而且19我们在做系数放大或抑制的时候,采用的标准是根据系数绝对值的大小,没有完全体现出其位置信息,但是在小波系数中,我们很容易在处理系数的过程中加入位置信息。 4.3.3 图像锐化与图像钝化所做的工作相反,图像锐化的任务是突出高频信息,抑制低频信息,从快速变化的成分中分离出标识系统特性或区分子系统边界的成分,以便于进一步的识别、分割等操作。在时域(空域)中,锐化的方法不外乎是作用掩码或做差

10、分,同钝化的道理一样,无论是掩码和差分都很难识别点之间的关联信息,我们下面的例子同样是在频域完成的,用传统的傅立叶分析方法(这里采用的是 DCT 变换)得到的频域系数。load chess;分别保存用DCT方法和小波方法的变换系数blur1=X;blur2=X;对原图像做二维离散余弦变换ff1=dct2(X);对变换结果在频域做BUTTERWORTH滤波for i=1:256for j=1:256ff1(i,j)=ff1(i,j)/(1+(32768/(i*i+j*j)2);endend重建变换后的图像blur1=idct2(ff1);对图像做2层的二维小波分解c,l=wavedec2(X,2

11、,db3);csize=size(c);对低频系数进行放大处理,并抑制高频系数for i=1:csize(2);if(abs(c(i)100)21X2(i,j)=1.2*X2(i,j);elseX2(i,j)=0.5*X2(i,j);endendendsubplot(222);image(X2);colormap(map2);title(wbarb);axis square%用小波函数sym4对X1进行2层小波分解c1,s1=wavedec2(X1,2,sym4);%对分解系数进行处理以突出轮廓部分,弱化细节部分sizec1=size(c1);for i=1:sizec1(2)c1(i)=1.

12、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输出结果如图:22woman50 100 150 200 25050100150200250wbarb50 100 150 200 25050100150200250一一一一50 100 150 200 2505010015020

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

14、womswa,swh,swv,swd=swt2(X,3,db1);使用 db1 小波对 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(wcod

15、emat(swh(:,:,i),192);title(Horiz.Det.cfs level,num2str(i)subplot(3,4,kp+3),image(wcodemat(swv(:,:,i),192);23title(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显示的结果如图所示,由于分解过程中没有改变信号的长度,所以在显示近似和细节系数时不需要重建。Approx,cfs,level

16、120 40608020406080Horiz.Det.cfs level120 40608020406080Vert.Det.cfs level1204060 8020406080Diag.Det.cfs level120 40608020406080Approx,cfs,level220 40608020406080Horiz.Det.cfs level220 40608020406080Vert.Det.cfs level2204060 8020406080Diag.Det.cfs level220 40608020406080Approx,cfs,level320 40608020406080Horiz.Det.cfs level320 40608020406080Vert.Det.cfs level

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号