实验七--小波变换.doc

上传人:wj 文档编号:1969849 上传时间:2023-05-02 格式:DOC 页数:11 大小:483KB
下载 相关 举报
实验七--小波变换.doc_第1页
第1页 / 共11页
实验七--小波变换.doc_第2页
第2页 / 共11页
实验七--小波变换.doc_第3页
第3页 / 共11页
实验七--小波变换.doc_第4页
第4页 / 共11页
实验七--小波变换.doc_第5页
第5页 / 共11页
实验七--小波变换.doc_第6页
第6页 / 共11页
实验七--小波变换.doc_第7页
第7页 / 共11页
实验七--小波变换.doc_第8页
第8页 / 共11页
实验七--小波变换.doc_第9页
第9页 / 共11页
实验七--小波变换.doc_第10页
第10页 / 共11页
实验七--小波变换.doc_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验七--小波变换.doc

《实验七--小波变换.doc》由会员分享,可在线阅读,更多相关《实验七--小波变换.doc(11页珍藏版)》请在冰点文库上搜索。

实验七--小波变换.doc

实验七小波变换

一、实验目的

1、了解小波变换及其变换系数的分布。

2、了解小波变换在图像去噪处理中的应用。

二、小波变换及去噪应用

1、小波分解及系数分布

信号分析是为了获得时间和频率之间的相互关系。

傅立叶变换提供了有关频率域的信息,但有关时间的局部化信息却基本丢失。

与傅立叶变换不同,小波变换是通过缩放母小波(Mother wavelet)的宽度来获得信号的频率特征,通过平移母小波来获得信号的时间信息。

对母小波的缩放和平移操作是为了计算小波系数,这些小波系数反映了小波和局部信号之间的相关程度。

常用的母小波有:

Haar小波、dbN小波系、symN小波系等。

小波系数分布规律:

l随着分层数的增加,小波系数的范围越来越大,说明越往后层次的小波系数越重要。

l除LL外,其他子带方差和能量明显减少,充分说明低频系数在图像编码中的重要性。

l对同一方向子带,按从高层到低层(从低频到高频)子带,有:

HL3→HL2→HL1,LH3→LH2→LH1,HH3→HH2→HH1,大部分情况下其方差从大到小,有一定的变换规则。

2、小波在图像去噪中的应用

工程应用中,有用信号通常表现为低频信号或是一些比较平稳的信号,而噪声信号通常表现为高频信号。

所以基于小波变换的去噪过程可以分为以下几步进行:

(1)小波分解。

选择一个小波并确定一个小波分解的层数N,然后对图像进行N层小波分解。

(2)小波分解高频系数的阈值量化。

对第1层到第N层的每一层高频系数,选择一个阈值进行阈值量化处理。

(3)小波的重构。

根据小波分解的第N层的低频系数和经过量化处理后的第1层到第N层的高频系数,进行的小波重构。

处理的方法一般有三种:

(1)强制去噪处理。

该方法把小波分解结构中的高频系数全部变为0,即把高频部分全部去除掉,然后再对信号进行重构处理。

这种方法比较简单,重构后的消噪信号也比较平滑,但容易丢失信号的有用成分。

(2)默认阈值去噪处理。

该方法利用ddencmp函数产生信号的默认阈值,然后利用wdencmp函数进行消噪处理。

(3)给定软硬阈值进行去噪处理。

在实际的去噪处理过程中,阈值往往可以通过经验公式获得,而且这种阈值比默认阈值更具有可信度。

在进行阈值量化处理中可用wthresh函数进行。

3、matlab提供的相关函数

(1)dwt2

功能:

单尺度二维离散小波变换

语法:

[cA,cH,cV,cD]=dwt2(X,‘wname’)

[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)

该函数用于二维离散小波分解。

X为被分析的图像;wname为分解所用到

的小波函数;Lo_D,Hi_D为分解滤波器;cA和cH、cV、cD(水平、垂直、对角线)分别是返回的低频系数和高频系数向量。

二维小波分解是把尺度j的低频部分分解成四个部分:

尺度j+1的低频部分和三个方向(水平、垂直、斜线)的高频部分。

(2)idwt2

功能:

单尺度逆二维离散小波变换

语法:

X=idwt2(cA,cH,cV,cD,‘wname’)

X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)

X=idwt2(cA,cH,cV,cD,‘wname’,S)

X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)

该函数用于单尺度二维离散小波变换的重构,它通常和dwt2配套使用。

返回向量X为单尺度重构后信号的低频系数。

(3)ddencmp

功能:

获取信号在消噪或压缩过程中的默认阈值

语法:

 [THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X)     

[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,'wp',X)      

[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,'wv',X)         

输入参数X为一维或二维信号;IN1取值为'den'或'cmp','den'表示进行去噪,'cmp'表示进行压缩;IN2取值为'wv'或'wp',wv表示选择小波,wp表示选择小波包。

返回值THR是返回的阈值;SORH是软阈值或硬阈值选择参数;KEEPAPP表示保存低频信号;CRIT是熵名(只在选择小波包时使用)。

(4)wdencmp

功能:

用于一维或二维信号的消噪或压缩

语法:

  [XC,CXC,LXC,PERF0,PERFL2]=wdencmp('gbl',X,'wname',N,THR,SORH,KEEPAPP); 

  [XC,CXC,LXC,PERF0,PERFL2]=wdencmp('lvd',X,'wname',N,THR,SORH); 

  [XC,CXC,LXC,PERF0,PERFL2]=wdencmp('lvd',C,L,'wname',N,THR,SORH); 

‘wname’是所用的小波函数,gbl(global的缩写)表示每一层都采用同一个阈值进行处理,lvd表示每层采用不同的阈值进行处理,N表示小波分解的层数,THR为阈值向量,对于格式

(2)和(3)每层都要求有一个阈值,因此阈值向量THR的长度为N,SORH表示选择软阈值或硬阈值(分别取值为's'和'h'),参数KEEPAPP取值为1时,则低频系数不进行阈值量化,反之,低频系数要进行阈值量化。

XC是进行消噪或压缩后的信号,[CXC,LXC]是XC的小波分解结构,PERF0和PERFL2是恢复或压缩L^2的范数百分比。

(5)wthresh

功能:

返回X经过软阈值或硬阈值处理后的信号

语法:

      Y=wthresh(X,SORH,T) 

 T是阈值。

 SORH='s',进行软阈值处理,即把信号的绝对值与阈值进行比较,小于或等于阈值的点变为零,大于阈值的点为该点值与阈值的差值。

 

      SORH='h',进行硬阈值处理,即把信号的绝对值和阈值进行比较,小于或等于阈值的点变为零,大于阈值的点保持不变。

一般来说,用硬阈值处理后的信号比用软阈值处理后的信号更粗糙。

  

  

三、实验内容及步骤

1、小波的分解与重构

例:

以下程序是对图像进行一级小波变换及重构

closeall

clear

I=imread('cameraman.tif');

[M,N]=size(I);

[A,H,V,D]=dwt2(I,'haar');%使用haar小波对二维图像进行一级小波分解

%A近似子带;H水平细节子带;V垂直细节子带;D对角细节子带

J=I;

%---------小波分解图像-----

J(1:

M/2,1:

N/2)=A;

J(1:

M/2,N/2+1:

N)=H;

J(M/2+1:

M,1:

N/2)=V;

J(M/2+1:

M,N/2+1:

N)=D;

%-----------重构图像----

II=idwt2(A,H,V,D,'haar');

figure

imshow(uint8(J)),title('haar小波一级分解')

figure

imshow(uint8(II)),title('haar小波重构')

思考题1:

使用haar小波对图像'Fig4.11(a).jpg'进行二级小波分解,结果类似下图。

并将其重构回原图。

写出命令及结果。

程序:

closeall

clear

I=imread('Fig4.11(a).jpg');

[M,N]=size(I);

[A,H,V,D]=dwt2(I,'haar');%使用haar小波对二维图像进行一级小波分解

%A近似子带;H水平细节子带;V垂直细节子带;D对角细节子带

J=I;

%---------小波一级分解图像-----

J(1:

M/2,1:

N/2)=A;

J(1:

M/2,N/2+1:

N)=H;

J(M/2+1:

M,1:

N/2)=V;

J(M/2+1:

M,N/2+1:

N)=D;

[X,Y]=size(A);

[cA,cH,cV,cD]=dwt2(A,'haar');

Z=J;

%---------小波二级分解图像-----

Z(1:

X/2,1:

Y/2)=cA;

Z(1:

X/2,Y/2+1:

Y)=cH;

Z(X/2+1:

X,1:

Y/2)=cV;

Z(X/2+1:

X,Y/2+1:

Y)=cD;

%-----------重构图像----

II=idwt2(cA,cH,cV,cD,'haar');

III=idwt2(II,H,V,D,'haar');

figure

imshow(uint8(Z)),title('haar小波二级分解')

figure

imshow(uint8(III)),title('haar小波重构')

程序结果

2、小波阈值去噪

阈值法是一种传统的图像分割方法。

是在一幅图像中,把目标从背景中分离出来,以便于进一步处理。

它是对图像进行视觉分析和模式识别的基本前提.同时它也是一个经典难题,到目前为止既不存在一种通用的图像分割方法,也不存在一种判断是否分割成功的客观标准。

例:

使用ddencmp函数获取图像的阈值。

clear,closeall

x=imread('cameraman.tif');

xn=imnoise(x,'gaussian');

%使用ddencmp函数来计算默认阈值和熵标准

%thr是阈值

[thr,sorh,keepapp]=ddencmp('den','wv',xn);

y=xn>thr;%大于阈值的像素点取值为“1”,显白色;

%小于阈值的像素点取值为“0”,显黑色;

figure

imshow(y),title('直接使用阈值判断')

z=wthresh(double(xn),sorh,thr);

figure

imshow(z),title('使用wthresh函数处理')

k=im2bw(xn);%将图像转为二值图像

figure

imshow(k),title('im2bw函数转为二值图像')

小波阈值去噪的具体处理过程为:

将含噪信号在各尺度上进行小波分解,设定一个阈值,幅值低于该阈值的小波系数置为0,高于该阈值的小波系数完全保留,或者做相应的“收缩(shrinkage)”处理。

最后将处理后获得的小波系数用小波反变换进行重构,得到去噪后的图像。

例:

根据ddencmp函数获取的阈值进行去噪处理。

clear,closeall

x=imread('cameraman.tif');

xn=imnoise(x,'gaussian');

%====================================

%使用ddencmp函数来计算消噪的默认阈值

%根据ddencmp函数计算的默认阈值,使用wdencmp函数来实现图像的去噪

[thr,sorh,keepapp]=ddencmp('den','wv',xn);

%使用sym5小波进行二级小波分解后,采用同一个阈值去噪,保留低频成分

[Xdenoise]=wdencmp('gbl',xn,'sym5',2,thr,sorh,keepapp);

%显示去噪后的图像

figure

subplot(121),imshow(xn)

subplot(122),imshow(uint8(Xdenoise));

title('wdencmp去噪后的图像');

思考题2:

采用强制去噪的处理方法,对加高斯噪声的图像进行二级小波分解,将其所有的高频子带全部清零,然后小波反变换进行重构。

与使用wdencmp函数阈值去噪的效果进行比较。

程序

closeall

clear

x=imread('cameraman.tif');

I=imnoise(x,'gaussian');%对图像添加高斯白噪声

[M,N]=size(I);

[A,H,V,D]=dwt2(I,'haar');%使用haar小波对二维图像进行一级小波分解

%A近似子带;H水平细节子带;V垂直细节子带;D对角细节子带

J=I;

%---------小波一级分解图像-----

J(1:

M/2,1:

N/2)=A;

J(1:

M/2,N/2+1:

N)=H;

J(M/2+1:

M,1:

N/2)=V;

J(M/2+1:

M,N/2+1:

N)=D;

H=zeros(M/2,N/2);

V=zeros(M/2,N/2);

D=zeros(M/2,N/2);

[X,Y]=size(A);

[cA,cH,cV,cD]=dwt2(A,'haar');

Z=J;

%---------小波二级分解图像-----

Z(1:

X/2,1:

Y/2)=cA;

Z(1:

X/2,Y/2+1:

Y)=cH;

Z(X/2+1:

X,1:

Y/2)=cV;

Z(X/2+1:

X,Y/2+1:

Y)=cD;

cH=zeros(X/2,Y/2);

cV=zeros(X/2,Y/2);

cD=zeros(X/2,Y/2);

%-----------重构图像----

II=idwt2(cA,cH,cV,cD,'haar');

III=idwt2(II,H,V,D,'haar');

figure

imshow(I),title('原图')

figure

imshow(uint8(Z)),title('haar小波二级分解')

figure

imshow(uint8(III)),title('强制去噪')

与使用wdencmp函数阈值去噪的效果相比较,强制去噪后的图没有wdencmp函数阈值去噪后的图平滑,使用wdencmp函数阈值去噪的图还原效果更好。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2