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');