文档库 最新最全的文档下载
当前位置:文档库 › 一个小波变换实例及Matlab实现

一个小波变换实例及Matlab实现

一个小波变换实例及Matlab实现
一个小波变换实例及Matlab实现

1、选择'(t)或,使心(t-k)J?k z为一组正交归一基

2、求h n。

h n *W(t)]

或H( Jh?(2 ?)/ ?( ?)

3、由h n求g n。

g

n - ( -I) h1 Jn

或G( J=e^1H (仁)

4、由g n, ;:(t)构成正交小波基函数(t)

⑴八g n ln(t)

或?^ J=GC ■ /2)?C ■ /2)

Haar小波的构造

1)、选择尺度函数。

⑴=1 O *1 C)O 其他

易知「(t - n)关于n为一正交归一基

2)、求h n

h n In(t);=2. - (t)(2t-n)dt

其中

n n 1

壬F= 1 2

0 其他

当n=0时,

——I

cp(2t)=[

0 当n=1时,

1 C -t

2

其他

e J σj +26"

S J U 6 N H e ^

。≡

G

A

寸 超

M O

L H

U L ^二—

7τd

L I τu 6 0"u ?

甘 LHU

≡ 超

M 01

0!—

’」丄U —

&¥(

?

?H 0

IHU

P H (U l

10)

?

(I)Cb 匸

?f?

LHU O H U ≡

M 0

________

CXI H — &) Cb

其图形如下:

1、Haar尺度函数

Haar尺度函数空间:

C , (2 jχ 2), (2 j X -1), (2j x), (2 jχ -1), :(2j x-1), ? J 为非负的整数,该空间又称为J级阶梯函数空间V i。则

V O 二V1二V2二=V jJ=V j= V j 1 随j的增加,分辨更为精细。

2、性质

函数集、2j/2「(2j X - k): k Z ?是V j的一个标准正交基。

f(x) V0当且仅当f(2j x) V j。

3、Haar小波函数

函数满足两点:(1)??是V1的成员;(2)??与V0正交。

(X)V(2x) _ (2x -1)

-bo

性质:j(,(x)dx=0

(x)是对称的、局部支撑的函数;

小波函数空间Wj : V a k (2j x-k),a k R

kZ

W j是V j的正交互补,即V jT=V j二W j

函数集、2j/2 "2j x-k):k?Zi是W i的一个标准正交基

4、Haar小波分解与重建

对Haar 小波,有(2j x^( (2j^xp :(2j4x))/2 (2jχ-1) = ( Q j"1 x) - ’(2j*x)) / 2

Haar 小波分解定理: 设:f j (χ)=?

a k (2j x-k),f j (x) := V j k 目

则它可以有如下分解:

f j = f j 1 ' ' 'j J

f

j 」八 a k

(2 X -

k), f j

I (X

^ V j J

kN

Ce j 丄=Σ b k^

(2j

」x — k )Q j 」(X)EW j 二 k 目

_ a 2k ' a 2k 1

_ 2

a 2k - a

2k 1

2

把函数f 分解成一个小波空间与一个尺度空间的分量

f(x)=^2 (4x) 2 (4x _1) (4x _2) _ (4x _3)

解:按照分解定理,此j=2, ; k=0,1,2,3对应的系数是2,2,1, -1 ;代入公式,得出分解后尺度

2-2 C 0,

2

f(x) =2 (2x)

'(2x -1)

a k 」

2+2 1 _1

函数空间元素的系数是〒二2 w 0 ;分解后小波函数空间元素的系数是

Matlab 程序image1=imread('512.jpg');

image1=rgb2gray(image1); subplot(2,2,1);

imshow(image1); title('original image');

image1=double(image1); imagew=imread('shuiyin.bmp'); imagew= rgb2gray (imagew); subplot(2,2,2);

imshow(imagew); title('original watermark');

[ca,ch,cv,cd]=dwt2(image1,'db1');

[ca1,ch1,cv1,cd1]=dwt2(ca, 'db1');

[cas,chs,cvs,cds]=dwt2(ca1,'db1');

M=512;

N=64;

for i=1:N

for j=1:N Ca(i,j)=cas(i,j)+0.01*imagew(i,j); end;

end;

IM=idwt2(Ca,chs,cvs,cds,'db1'); IM1=idwt2(IM,ch1,cv1,cd1, 'db1'); markedimage=double(idwt2(IM1,ch,cv,cd,'db1')); subplot(2,2,3);

colormap(gray(256)); image(markedimage); title('marked image');

imwrite(markedimage,gray(256),'watermarked.bmp','bmp'); image1=imread('512.jpg');

image1=rgb2gray(image1); image1=double(image1); imaged=imread('watermarked.bmp');

[ca,ch,cv,cd]=dwt2(image1,'db1');

[ca1,ch1,cv1,cd1]=dwt2(ca,'db1');

[cas,chs,cvs,cds]=dwt2(ca1,'db1');

[caa,chh,cvv,cdd]=dwt2(imaged,'db1');

[caa1,chh1,cvv1,cdd1]=dwt2(caa,'db1');

[caas,chhs,cvvs,cdds]=dwt2(caa1,'db1');

for p=1:N

for q=1:N

W(p,q)=100*(caas(p,q)-cas(p,q));

end; subplot(2,2,4); colormap(gray(256)); image(W);

title(' 从含水印图像中提取的水印');

imwrite(W,gray(256),'watermark.bmp','bmp');

相关文档