一个小波变换实例及matlab实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、 选择()t ϕ或ˆ()ϕ
ω,使{}()k Z t k ϕ∈-为一组正交归一基; 2、 求n h 。
1,(),()n n h t t ϕϕ-=
或ˆˆ()(2)/()H ωϕωϕω=
3、 由n h 求n g 。
1(1)n n n g h -=- 或()()i G e H t ωωωπ-=
4、 由n g ,()t ϕ构成正交小波基函数()
t φ 1,()()n n t g t φϕ-=∑
或ˆˆ()(/2)(/2)G φωωϕω=
Haar 小波的构造
1)、选择尺度函数。
101
()0t t ϕ ≤≤⎧=⎨ ⎩其他
易知(n)t ϕ-关于n 为一正交归一基。
2)、求n h
1,(),()n n h t t ϕϕ-
=()2t-n)t dt ϕϕ(
其中
1
1(2)220n
n t t n ϕ+⎧
≤≤⎪-=⎨⎪ ⎩其他
当n=0时,
1
1(2)20t t ϕ⎧
0≤≤⎪=⎨⎪ ⎩其他
当n=1时,
1
11(21)20t t ϕ⎧
≤≤⎪-=⎨⎪ ⎩其他
故,当n=0,n=1时
1()(2)0n n t t n ϕϕ =0,=1
⎧•-=⎨ ⎩其他
当n=0时,
()(2)t t n ϕϕ•-1
120t ⎧
0≤≤⎪=⎨⎪ ⎩其他
当n=1时,
()(2)t t n ϕϕ•-1
1120t ⎧ ≤≤⎪=⎨⎪ ⎩其他
故
n
h ()2t-n)t dt ϕϕ
(1/0n n ⎧=0,=1
⎪=⎨ ⎪⎩其他
3)、求n g 。
11/0
(1)1/10n n n n g h n -⎧=⎪⎪=-=-=⎨⎪ ⎪⎩其他
4)、求()t φ。
1,()()n n t g t φϕ-=∑
=0-1,011,1()()g t g t ϕϕ-+
(2)(21)t t - =1
102
111
20t t ⎧ ≤≤⎪⎪⎪- ≤≤⎨⎪ ⎪⎪⎩
其他
其图形如下:
1、 Haar 尺度函数
101()0t t ϕ ≤≤⎧=⎨ ⎩
其他 Haar 尺度函数空间:
}{,(22),(21),(2),(21),(21),j j j j j x x x x x ϕϕϕϕϕ++-- j 为非负的整数,该空间又称为j 级阶梯函数空间j V 。则
01211j j j V V V V V V -+⊂⊂⊂⊂⊂⊂⊂
随j 的增加,分辨更为精细。
2、 性质
函数集}{/22(2):j j x k k Z ϕ-∈是j V 的一个标准正交基。
0()f x V ∈当且仅当(2)j j f x V ∈。
3、 Haar 小波函数
函数满足两点:(1)φ是1V 的成员;(2)φ与0V 正交。
()x φ=(2)(21)x x ϕϕ--
性质:
()0x dx φ+∞
-∞=⎰
()x φ是对称的、局部支撑的函数;
小波函数空间:(2),j j k
k k Z W a x k a R φ∈-∈∑
j W 是j V 的正交互补,即1j j j V V W +=⊕
函数集}{/22(2):j j x k k Z φ-∈是j W 的一个标准正交基
4、 Haar 小波分解与重建
对Haar 小波,有11(2)((2)(2))j j j x x x φφϕ--=+/2 11(21)((2)(2))/2j j j x x x φφϕ---=-
Haar 小波分解定理:
设:()(2),()j j k
j j k Z f x a x k f x V φ∈=-∈∑
则它可以有如下分解:
11j j j f f ω--=+
11111(2),()j j j k j j k Z
f a x k f x V φ-----∈=-∈∑
11111(2),()j j j k j j k Z
b x k x W ωϕω-----∈=-∈∑
12212
j k k k a a a -++= 12212j k
k k a a b -+-= 把函数f 分解成一个小波空间与一个尺度空间的分量
()2(4)2(41)(42)(43)f x x x x x φφφφ=+-+---
解:按照分解定理,此j=2,;k=0,1,2,3对应的系数是2,2,1,-1;代入公式,得出分解后尺度函数空间元素的系数是2222+=,1102-=;分解后小波函数空间元素的系数是2202-=,1(1)12
--=;从而 ()2(2)(21)f x x x φϕ=+-
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));