You are on page 1of 33

In Frequency Domain

Filtering in Frequency Domain

f(x,y) f ' ( x, y ) F(u,v) F(u,v)H(u,v)


Shift DFT H(u,v) IDFT
(-1)x+y
g ' ( x, y )

Shift
F (u, v )  a  jb
(-1)x+y
 a 2  b 2 tan  b / a 
1

g(x,y)

g ( x, y )  d  je
Relationship between Convolution and DFT
f ( x , y ) * h ( x , y )  F ( u , v ) H ( u, v )
M 1 N 1
1
g ( x, y )  f ( x , y ) * h ( x , y ) 
MN
 f (m, n)h( x  m, y  n)
m 0 n 0

M 1 N 1 2 ux 2 vy

 g ( x, y )W
j j
DFT [ g ( x, y )]  G (u, v )  ux
M W vy
N ; W ux
M e M
;W vy
M e N
y 0 x 0
M 1 N 1
 1 M 1 N 1

    f (m, n)h( x  m, y  n)W ux
M WNvy
y 0 x  0  MN m 0 n 0

1 
M 1 N 1 M 1 N 1


MN
   f (m, n)h( x  m, y  n)W
y 0 x 0 m 0 n 0
mu
M WNnvWM( x m ) uWN( y n ) v

1  M 1 N 1 nv 
M 1 N 1
  
MN  m0 n 0
f ( m, n )WM WN   h ( x  m, y  n )WM( x m ) uWN( y n ) v
mu

 y 0 x  0
1
 F ( u, v ) H ( u, v )
MN
 1 
IDFT  F (u, v ) H ( u, v )   g ( x , y )  f ( x , y ) * h ( x , y )
 MN 
Comparison of Convolution and FFT

Convolution FFT

Computational Process Simple Complex with many steps

Number of Multiplications  N (log 2 N )


N 2n 2

N x N -> image size


n x n -> filter window size
Number of Multiplication (FFT vs Convolution)

100000000

80000000
FFT
60000000 Convolution (n=3)
Convolution (n=5)
40000000 Convolution (n=7)
Convolution (n=9)
20000000

0
256 512 1024
FFT 524288 2359296 10485760
Convolution (n=3) 589824 2359296 9437184
Convolution (n=5) 1638400 6553600 26214400
Convolution (n=7) 3211264 12845056 51380224
Convolution (n=9) 5308416 21233664 84934656
Filter Categories
 Regular Filter
 Low Pass Filter (LPF)
 High Pass Filter (HPF)
 Band Pass Filter (BPF)
 Band Reject Filter (BRF)
 High Frequency Emphasis Filter (HFE)

 Inverse Filter

 Wiener Filter (Minimum Mean Square Error Filter)


Regular Filter
Low Pass Filter (LPF)
Ideal Low Pass Filter (ILPF)

1 r (u, v )  r0
H ( u, v )  
0 r (u, v )  r0

r ( u, v )  ( u  M / 2) 2  ( v  N / 2 ) 2
ILPF results

Original image r0  5

r0  15 r0  30

r0  80 r0  230
ILPF ripple effects

DFT

Original image [f(x,y)] F(u,v) H(u,v) G(u,v) = F(u,v) H(u,v)

f*h Inverse DFT

f * h  inverse DFT [ FH ]

h(x,y)
g(x,y)
Butterworth Low Pass Filter (BLPF)

1
H (u, v ) 
1  [ r (u, v ) / r0 ]2 n

r ( u, v )  ( u  M / 2) 2  ( v  N / 2) 2

h(x,y)

n=1 n=2 n=3 n=4


BLPF results n=2

Original image r0  5

r0  15 r0  30

r0  80 r0  230
Gaussian Low Pass Filter (GLPF)

 r 2 ( u ,v ) / 2 D02
H (u, v)  e
D0  r0
r ( u, v )  ( u  M / 2) 2  ( v  N / 2) 2
GLPF results

Original image r0  5

r0  15 r0  30

r0  80 r0  230
Applications of Low Pass Filter

Character recognition

Picture Studio Decoration


Ideal High Pass Filter (IHPF)

0 r (u, v )  r0
H ( u, v )  
H (u , v ) 
1 r (u, v )  r0

r ( u, v )  ( u  M / 2) 2  ( v  N / 2) 2
IHPF results

r0  15 r0  30 r0  80
Butterworth High Pass Filter (BHPF)

1
H (u, v ) 
1  [ r0 / r (u, v )]2 n

r ( u, v )  ( u  M / 2) 2  ( v  N / 2) 2
BHPF results

r0  15 r0  30 r0  80
Gaussian High Pass Filter (GHPF)

 r 2 ( u ,v ) / 2 r02
H ( u, v )  1  e
r ( u, v )  ( u  M / 2) 2  ( v  N / 2) 2
GHPF results

r0  15 r0  30 r0  80
Laplacian Filter (Second-order Filter)

H (u, v )  [(u  M / 2) 2  ( v  N / 2) 2 ]

h(x,y)
Laplacian Filter results

Laplacian
filter
Laplacian filtered
image

Original image

g ( x, y )  f ( x, y )   2 f ( x, y )
High Frequency Emphasis Filter

H hp (u, v )
BHPF

f(x,y) H hfe (u, v )  a  bH hp (u, v )

Histogram
equalization
Band Reject Filter (BRF)
 BW
1 ; r (u, v )  r0 
2
 BW BW
H (u, v )  0 ; r0   r (u, v )  r0 
 2 2
1 ; BW
r (u, v )  r0 
 2

Ideal BRF

Butterworth BRF Gaussian BRF


1 1  r 2 ( u ,v )  r02 
H ( u, v )    
 r (u, v ). BW  H (u, v )  1  e
2  r ( u ,v ). BW 
1  2 2
 r (u, v )  r0 
BRF results

DFT

f(x,y) F(u,v)

Inverse DFT
F(u,v)H(u,v)

g(x,y) H(u,v)
Band Pass Filter (BPF)

DFT

f(x,y) F(u,v)

Inverse DFT
F(u,v)H(u,v)

g(x,y) H(u,v)
H BP (u, v )  1  H BR (u, v )
Inverse Filter
 Regular Filter
 G(u,v) = F(u,v).H(u,v)
 ภาพททที่ดท = ภาพททที่เสท ย . ฟฟังกกชนฟั การกรองสสที่ งททที่เสท ยออกจากภาพ

 Inverse Filter
 หลฟักการกลฟับจาก regular filter
 G(u,v) = F(u,v).H(u,v)
 ภาพททที่เสท ย = ภาพททที่ดท . ฟฟังกกชนฟั ตฟัวกวนใหห้ภาพเสท ย
 F’(u,v) = G(u,v) / H(u,v)
 ภาพประมาณภาพดท = ภาพททที่เสท ย / ฟฟังกกชนฟั ตฟัวกวน
Degradation Function
(ฟฟังกก์ชฟันตฟัวกวนใหห้ ภาพเสสี ย)
 การประมาณคคา degradation function
 Image Observation (การประมาณคคาจากภาพจรส ง)
 Model Selection (การเลลือกใชห้แบบจจาลองททที่ใหห้ผลการรบกวนภาพใกลห้เคทยงกฟับ
ภาพจรส ง)

 Degradation Model
 Atmospheric turbulence (หลลุมอากาศ)
 จจาลองการกวนใหห้ภาพเบลอ
 Motion Blur
 จจาลองการกวนใหห้ภาพเบลอแบบมทการเลลืที่อนดห้วย
Inverse Filter Problems
 Ideal (theory assumption)
 Based on assumption of no noise

 Practical
 Input image may contain noise
 Resulted in failing to estimate the good quality image back
 Effect of the degradation function at the points where the function is close or equal
to zero
 Divide by zero or small values
 Enhance the part of noise and unwanted high frequency
 Solution
 Control passing low frequency using LPF to reduce the effect of noise and division of zero
Inverse Filter results (Blur using
Atmospheric Turbulence)

Full filter r0  40

Blured image
Turbulance (k=0.0025)

r0  70 r0  85
Wiener Filter
(MMSE filter)
 Using Minimum Mean Square Error
 Sometimes called least square filter

Wiener
filter

Blured image Wiener filter result


Turbulance (k=0.0025)
Filter results from Motion Blur and Gaussian
Noise

Noisy image Inverse filter results Wiener filter results

You might also like