小波matlab代码.docx

上传人:b****8 文档编号:9198698 上传时间:2023-05-17 格式:DOCX 页数:9 大小:17.09KB
下载 相关 举报
小波matlab代码.docx_第1页
第1页 / 共9页
小波matlab代码.docx_第2页
第2页 / 共9页
小波matlab代码.docx_第3页
第3页 / 共9页
小波matlab代码.docx_第4页
第4页 / 共9页
小波matlab代码.docx_第5页
第5页 / 共9页
小波matlab代码.docx_第6页
第6页 / 共9页
小波matlab代码.docx_第7页
第7页 / 共9页
小波matlab代码.docx_第8页
第8页 / 共9页
小波matlab代码.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

小波matlab代码.docx

《小波matlab代码.docx》由会员分享,可在线阅读,更多相关《小波matlab代码.docx(9页珍藏版)》请在冰点文库上搜索。

小波matlab代码.docx

小波matlab代码

小波matlab代码

[x,map]=imread('MUCS_新建文件夹_32603.ptl_208.bmp');

subplot(1,2,1);

imshow(x);

[c,s]=wavedec2(x,3,'sym4');

Csize=size(c);

fori=1:

Csize

(2)

if(c(i)>100)%低频分量----s中第一维的长度

c(i)=1*c(i);

else

c(i)=0.9*c(i);%高频分量

end

end

x1=waverec2(c,s,'sym4');

im=uint8(x1);

subplot(1,2,2);

imshow(im);

[c,s]=wavedec2(X,2,'bior3.7');%对图像用小波进行层分解

cal=appcoef2(c,s,'bior3.7',1);%提取小波分解结构中的一层的低频系数和高频系数

ch1=detcoef2('h',c,s,1);%水平方向

cv1=detcoef2('v',c,s,1);%垂直方向

cd1=detcoef2('d',c,s,1);%斜线方向

a1=wrcoef2('a',c,s,'bior3.7',1);%各频率成份重构

[c,s]=wavedec2(X,1,'sym4');

a1=appcoef2(c,s,'sym4',1);%小波分解结构中的一层的低频系数,下面是3个高频系数

a1=2*a1;

h1=detcoef2('h',c,s,1);

v1=detcoef2('v',c,s,1);

d1=detcoef2('d',c,s,1);

h1=0.5*h1;

v1=0.5*v1;

d1=0.5*d1;

y=idwt2(a1,h1,v1,d1,'sym4');

loadwbarb;

X1=X;map1=map;

subplot(2,2,1);

image(X1);colormap(map1);

title('图像wbarb');

loadwoman;

X2=X;map2=map;

subplot(2,2,2);

image(X2);colormap(map2);

title('图像woman');

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

%对上述二图像进行分解

[c1,l1]=wavedec2(X1,2,'sym4');

[c2,l2]=wavedec2(X2,2,'sym4');

%对分解系数进行融合

c=c1+c2;

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

%应用融合系数进行图像重构并显示

XX=waverec2(c,l1,'sym4');

subplot(2,2,3);

image(XX);

title('融合图像1');

Csize1=size(c1);

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

%对图像进行增强处理

fori=1:

Csize1

(2)

c1(i)=1.2*c1(i);

end

Csize2=size(c2);

forj=1:

Csize2

(2)

c2(j)=0.8*c2(j);

end

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

%通过减小融合系数以减小图像的亮度

c=0.5*(c1+c2);

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

%对融合系数进行图像重构

XXX=waverec2(c,l2,'sym4');

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

%显示重构结果

subplot(2,2,4);

image(XXX);

title('融合图像2');

%本程序实现下述功能:

首先读入原始图像,并对它使用db3小波进行2层分解,

%然后对分解系数进行处理突出所需,弱化不需要的部分

%装载并显示原始图像

clearall;

clc;

loadflujet;

subplot(1,2,1);

image(X);colormap(map);

title('原始图像');

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

%对图像X用小波db3进行2层分解

[c,l]=wavedec2(X,2,'db3');

Csize=size(c);

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

%对分解系数作处理以突出所需部分并弱化不需要部分

fori=1:

Csize

(2)

if(c(i)>300)%低频分量

c(i)=2*c(i);

else

c(i)=0.5*c(i);%高频分量

end

end

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

%重构图像并显示

X1=waverec2(c,l,'db3');

subplot(1,2,2);

image(X1);colormap(map);

title('增强图像');

[c,s]=wavedec2(x,2,'sym4');

Csize=size(c);

fori=1:

Csize

(2)

if(c(i)>169)%低频分量----s中第一维的长度

c(i)=2*c(i);

else

c(i)=0.3*c(i);%高频分量

end

end

x1=waverec2(c,s,'sym4');

im=uint8(x1);

imshow(im);

二维小波变换的Matlab实现

yjvzw%oun\{K*Y

二维小波变换的函数

arTQ3Yr-------------------------------------------------

5BY0x!

Z9a9]函数名函数功能

h$H9q`\---------------------------------------------------'d3dtBe'x6g

dwt2二维离散小波变换

!

t2B!

I9L5S;q:

rXwavedec2二维信号的多层小波分解

!

Do4B@2UY,o!

H#Mlidwt2二维离散小波反变换

ol!

RHN_G4Mwaverec2二维信号的多层小波重构zH!

f6~)}-P_

wrcoef2由多层小波分解重构某一层的分解信号0E,\|.o|DT2@2b2K$U

upcoef2由多层小波分解重构近似分量或细节分量

*^Y4?

T3Rx(k3vdetcoef2提取二维信号小波分解的细节分量

2~UWL8Vappcoef2提取二维信号小波分解的近似分量

0qlN7pa@iYC]cbupwlev2二维小波分解的单层重构

2yW_]h-i~m(~dwtpet2二维周期小波变换4Y/aN&Gq]EB"H)W

idwtper2二维周期小波反变换

7h"|Ive-------------------------------------------------------------9Od7D`by

&lX{IgusI`

(1)wcodemat函数

`Tf?

-[c*e$Mcd功能:

对数据矩阵进行伪彩色编码

|4XCi5R$x6g格式:

Y=wcodemat(X,NB,OPT,ABSOL)'k#eCaI%H

Y=wcodemat(X,NB,OPT)i)E)p_!

O-kjJ^

Y=wcodemat(X,NB)

A2z,qD'u'z*_.~/UY=wcodemat(X)

Z5D"^e5i|L'^4`说明:

Y=wcodemat(X,NB,OPT,ABSOL)返回数据矩阵X的编码矩阵Y;NB伪编码的最大值,即编码范围为0~NB,缺省值NB=16;

@N6CYpYEOPT指定了编码的方式(缺省值为'mat'),即:

r(o?

Lj(yefN

OPT='row',按行编码

-yqiH{o5eOPT='col',按列编码

8XN*\.Z/c@OPT='mat',按整个矩阵编码

ej!

lWbLABSOL是函数的控制参数(缺省值为'1'),即:

ix"^:

|~5{

ABSOL=0时,返回编码矩阵

2zx;^l$q|_ZABSOL=1时,返回数据矩阵的绝对值ABS(X)

VlU1erg3x'O%I

9z&c,A]!

T%yds\.s

(2)dwt2函数DJ~0D/mS:

OS"I

功能:

二维离散小波变换Bct_)hOXI

格式:

[cA,cH,cV,cD]=dwt2(X,'wname')3AN_WF

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

m(Ej"[_@说明:

[cA,cH,cV,cD]=dwt2(X,'wname')使用指定的小波基函数'wname'对二维信号X进行二维离散小波变幻;cA,cH,cV,cD分别为近似分

.g(R@EEY'n量、水平细节分量、垂直细节分量和对角细节分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)使用指定的分解低通和高通滤波器Lo_D和Hi_D分

j4F2}~QeW解信号X。

$Kv*SX2^

8GQ7?

M_dB(g"d

(3)wavedec2函数

8y,x)uQTN功能:

二维信号的多层小波分解HFS)bp$G:

i

格式:

[C,S]=wavedec2(X,N,'wname')

+}+CM9i.p[C,S]=wavedec2(X,N,Lo_D,Hi_D)

U;|Ih0\J^}|说明:

[C,S]=wavedec2(X,N,'wname')使用小波基函数'wname'对二维信号X进行N层分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D)使用指定

V.Y&@ifG9c9t+G2V的分解低通和高通滤波器Lo_D和Hi_D分解信号X。

7Yj~q5aHS4e1rW8f#`9D7m2l(4)idwt2函数

_Lg-O2dp功能:

二维离散小波反变换

6tst7q4a)bJ|0U2G格式:

X=idwt2(cA,cH,cV,cD,'wname')

IO,q'QWyX=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)

;r"?

f#pPYoFX=idwt2(cA,cH,cV,cD,'wname',S)

$Y,\w-oPb(L2\;UX=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)

\VQb~4AG}nQ说明:

X=idwt2(cA,cH,cV,cD,'wname')由信号小波分解的近似信号cA和细节信号cH、cH、cV、cD经小波反变换重构原信号X

MXnc-O?

[!

y5{E;X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)使用指定的重构低通和高通滤波器Lo_R和Hi_R重构原信号X;X=idwt2(cA,cH,cV,cD,'wname',S)'z6Zex;o

和X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)返回中心附近的S个数据点。

%d1D6g6j1pW3tx"mWg?

(~;BR8}X`(5)waverec2函数

AA%U:

y0xr说明:

二维信号的多层小波重构

$b+z/oY^)~\格式:

X=waverec2(C,S,'wname')

Fsv8ej\$L#VoX=waverec2(C,S,Lo_R,Hi_R)

U:

o!

btX5bb说明:

X=waverec2(C,S,'wname')由多层二维小波分解的结果C、S重构原始信号X,'wname'

.v4G9ie_6lW(Z/T为使用的小波基函数;X=waverec2(C,S,Lo_R,Hi_R)使用重构低通和高通滤波器Lo_R和Hi_R重构原信号。

s)A?

*ni?

+G

 

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

当前位置:首页 > 人文社科 > 设计艺术

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

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