forked from colorwavelet/CCWT
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FsCCWTFB0551.m
102 lines (91 loc) · 2.45 KB
/
FsCCWTFB0551.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
function [af, sf] = FsCCWTFB0551
% This function is used in CCWT.
% The algorithm of CCWT is described in the following paper:
% Yang Chen, Dan Li, and Jian Qiu Zhang, "Complementary Color Wavelet: A Novel Tool for Color Image/Video Analyses and Processing", 2017.
% CCWT filterbanks for the First stage, length 22 with Thiran allpass filter L1=5, L2=5 and vanishing moment VM=1
% USAGE:
% [af, sf] = FsCCWTFB0551
% OUTPUT:
% af{i}, i = 1,2 - analysis filters for tree i
% sf{i}, i = 1,2 - synthesis filters for tree i
af{1} = sqrt(2)*[
1.55196025214914e-07
-3.64244986151481e-09
-4.72296431657605e-05
4.51978768236905e-07
0.00367508218681040
0.000134785259906740
-0.0554563814967393
-0.0199281412110457
0.354811673474709
0.567845846237940
0.207254862089805
-0.0681221946106980
-0.0103436660847803
0.0216450723247797
0.000104646867572705
-0.00160839578452004
6.30232589463908e-07
3.23832905322482e-05
-7.33216485253484e-10
-3.17578983997701e-08
1.04185641833908e-13
4.39947785905780e-12
];
af{1}=[af{1} af{1}(end:-1:1)];
af{1}(2:2:end,2)=af{1}(2:2:end,2)*-1;
sf{1} = af{1}(end:-1:1, :);
af{2} = sqrt(2)*[
2.07975316973642e-11
3.28299284108471e-08
7.37902871004124e-07
-1.79120279796055e-05
-0.000119733002797833
0.00175340053377619
0.00523039398995174
-0.0322379791494069
-0.0650808649375147
0.205135892050975
0.564880938720559
0.361349856021001
-0.0256046003924052
-0.0415160457380604
0.0230445084865565
0.00577295512905657
-0.00241051069658350
-0.000243273289409661
5.90366018513381e-05
2.84619728506791e-06
-1.34603572366523e-07
-4.67451949247478e-10
];
af{2}=[af{2} af{2}(end:-1:1)];
af{2}(2:2:end,2)=af{2}(2:2:end,2)*-1;
sf{2} = af{2}(end:-1:1, :);
af{3} = sqrt(2)*[
-9.11001341220481e-09
1.26569593791355e-10
5.39451424543818e-09
3.88278416451764e-07
-3.66563902314513e-06
-9.96351883061440e-05
0.000560527640529715
0.00536332360237928
-0.0119902186579145
-0.0720880690497491
0.0729237485649041
0.485957241064240
0.493303761245982
0.0695670541341079
-0.0677827108006299
0.0134011287709973
0.0137872093638171
-0.00217674002769087
-0.000810170920791877
7.52908343490528e-05
1.12950083393471e-05
-2.10455598848953e-07
];
af{3}=[af{3} af{3}(end:-1:1)];
af{3}(2:2:end,2)=af{3}(2:2:end,2)*-1;
sf{3} = af{3}(end:-1:1, :);