To understand the concept of Gabor filtering, we must first start with Gabor wavelets.
Gabor wavelets are formed from two components, a complex sinusoidal carrier and a Gaussian envelope.
g(x,y)=s(x,y)wr(x,y)g(x,y)=s(x,y)wr(x,y)
The complex carrier takes the form:
s(x,y)=ej(2π(u0x+v0y)+P)s(x,y)=ej(2π(u0x+v0y)+P)
We can visualize the real and imaginary parts of this function seperately as shown in this figure.
The real part of the function is given by:
R
e
(
s
(
x
,
y
)
)
=
cos
(
2
π
(
u
0
x
+
v
0
y
)
+
P
)
R
e
(
s
(
x
,
y
)
)
=
cos
(
2
π
(
u
0
x
+
v
0
y
)
+
P
)
and the imaginary:
I
m
(
s
(
x
,
y
)
)
=
sin
(
2
π
(
u
0
x
+
v
0
y
)
+
P
)
I
m
(
s
(
x
,
y
)
)
=
sin
(
2
π
(
u
0
x
+
v
0
y
)
+
P
)
The parameters
u0u0
and
v0v0
represent the frequency of the horizontal and vertical sinusoids respectively.
PP respresents an arbitrary phase shift.
The second component of a gabor wavelet is its envelope. The resulting wavelet is the product of the sinusoidal carrier and this envelope. The envelope has a gaussian profile and is described by the following equation:
g
(
x
,
y
)
=
K
e

π
(
a
2
(
x

x
0
)
r
2
+
b
2
(
y

y
0
)
r
2
)
g
(
x
,
y
)
=
K
e

π
(
a
2
(
x

x
0
)
r
2
+
b
2
(
y

y
0
)
r
2
)
where:
(
x

x
0
)
r
=
(
x

x
0
)
cos
(
θ
)
+
(
y

y
0
)
sin
(
θ
)
(
x

x
0
)
r
=
(
x

x
0
)
cos
(
θ
)
+
(
y

y
0
)
sin
(
θ
)
(
y

y
0
)
r
=

(
x

x
0
)
sin
(
θ
)
+
(
y

y
0
)
cos
(
θ
)
(
y

y
0
)
r
=

(
x

x
0
)
sin
(
θ
)
+
(
y

y
0
)
cos
(
θ
)
The parameters used above are
KK  a scaling constant
(a,b)(a,b)
 envelope axis scaling constants,
θθ  envelope rotation constant,
(x0,y0
)(x0,y0
)  Gausian envelope peak.
To put it all together, we multiply s(x,
y)s(x,
y) by
wr(x,y
)wr(x,y
). This produces a wavelet like this one: