Image Enhancement in the Frequency Domain

advertisement
‫بسمه‌تعالي‬
Digital Image Processing
Image Enhancement in the
Frequency Domain
(Chapter 4)
H.R. Pourreza
H.R. Pourreza
Objective
• Basic understanding of the frequency
domain, Fourier series, and Fourier
transform.
• Image enhancement in the frequency
domain.
H.R. Pourreza
Fourier Series
Any function that periodically
repeats itself can be expressed
as the sum of sines and/or
cosines of different
frequencies, each multiplied
by a different coefficients.
This sum is called a Fourier
series.
H.R. Pourreza
Fourier Series

g (t )  a0   an cos nw0t  bn sin nw0t
n 1
1
a0 
T0
2
an 
T0
2
bn 
T0
t 0 T0
 g (t )dt
t0
t 0 T0
 g (t ) cosnw t dt
0
t0
t 0 T0
 g (t ) sin nw t dt
0
t0
H.R. Pourreza
Fourier Transform
A function that is not periodic but the area under
its curve is finite can be expressed as the integral
of sines and/or cosines multiplied by a weighing
function. The formulation in this case is Fourier
transform.
H.R. Pourreza
Continuous One-Dimensional Fourier
Transform and Its Inverse

F (u ) 
 f ( x )e
 j 2ux
dx


f ( x) 
 F (u )e
Where
j 2ux
j  1
du

• (u) is the frequency variable.
• F(u) is composed of an infinite sum of sine
and cosine terms and…
• Each value of u determines the frequency of
its corresponding sine-cosine pair.
H.R. Pourreza
Continuous One-Dimensional Fourier
Transform and Its Inverse
Example
Find the Fourier transform of a gate function (t)
defined by

1
 ( x)  
0

1
x 
2
1
x 
2
 u 
F (u )   sinc 

 2 

u
x
- 0.5
0.5
H.R. Pourreza
2

4

Continuous One-Dimensional Fourier
Transform and Its Inverse
H.R. Pourreza
Discrete One-Dimensional Fourier
Transform and Its Inverse
• A continuous function f(x) is discretized into a
sequence:
{ f ( x0 ), f ( x0  x), f ( x0  2x),..., f ( x0  [ N 1]x)}
by taking N or M samples x units apart.
H.R. Pourreza
Discrete One-Dimensional Fourier
Transform and Its Inverse
• Where x assumes the discrete values
(0,1,2,3,…,M-1) then
f ( x)  f ( x0  xx)
• The sequence {f(0),f(1),f(2),…f(M-1)} denotes any
M uniformly spaced samples from a corresponding
continuous function.
H.R. Pourreza
Discrete One-Dimensional Fourier
Transform and Its Inverse
1
F (u ) 
M
1
F (u ) 
M
f ( x) 
M 1
 f ( x )e
 j 2u
x
M
u =[0,1,2, …, M-1]
x 0
M 1

x 0
x
x

f ( x) cos 2u
 j sin 2u 
M
M

M 1

u
j 2 x
F (u )e M
u 0
x =[0,1,2, …, M-1]
H.R. Pourreza
Discrete One-Dimensional Fourier
Transform and Its Inverse
• The values u = 0, 1, 2, …, M-1 correspond to
samples of the continuous transform at values
0, u, 2u, …, (M-1)u.
i.e. F(u) represents F(uu), where:
1
u 
Mx
• Each term of the FT (F(u) for every u) is
composed of the sum of all values of f(x)

H.R. Pourreza
Discrete One-Dimensional Fourier
Transform and Its Inverse
• The Fourier transform of a real function is
generally complex and we use polar
coordinates:
F (u )  R(u )  jI (u )
F (u )  F (u ) e
j ( u )
F (u )  [ R 2 (u )  I 2 (u )]1/ 2
 I (u ) 
 (u )  tan 

 R(u ) 
1
H.R. Pourreza
Discrete One-Dimensional Fourier
Transform and Its Inverse
|F(u)| (magnitude function) is the Fourier
spectrum of f(x) and (u) its phase angle.
• The square of the spectrum
P (u )  F (u )  R 2 (u )  I 2 (u )
2
is referred to as the Power Spectrum of f(x)
(spectral density).
H.R. Pourreza
Discrete 2-Dimensional Fourier Transform

• Fourier spectrum:
F (u, v)  R (u, v)  I (u, v)
• Phase:
 I (u, v) 
 (u, v)  tan 

R
(
u
,
v
)


• Power spectrum:
2
2

1/ 2
1
P(u , v)  F (u , v)  R 2 (u , v)  I 2 (u , v)
2
H.R. Pourreza
Discrete One-Dimensional Fourier
Transform and Its Inverse
H.R. Pourreza
Time and Frequency Resolution and
Sampling
Fmax = 100 Hz
What is the sampling rate (Nyquist)?
What is the time resolution?
What is the frequency resolution?
What if the sampling rate is higher
than the Nyquist sampling rate?
What if we take samples for two
seconds with the Nyquist sampling
rate?
H.R. Pourreza
1 second
Discrete Two-Dimensional Fourier
Transform and Its Inverse
1
F (u, v) 
MN
f ( x, y ) 
M 1N 1
  f ( x, y ) e
  F (u, v)e
j 2 (
u
v
x y )
M
N
u 0 v 0

x
y
v )
M N
x 0 y 0
M 1N 1
F (u, v)  R (u, v)  I (u, v)
2
 j 2 (u
2
Fourier Spectrum
H.R. Pourreza

1/ 2
Discrete Two-Dimensional Fourier
Transform and Its Inverse
1
F (0,0) 
MN
M 1N 1
  f ( x, y )
x 0 y 0
F(0,0) is the average intensity of an image
H.R. Pourreza
Discrete Two-Dimensional Fourier
Transform and Its Inverse
Use Matlab to generate the above figures
H.R. Pourreza
Frequency Shifting Property of the Fourier
Transform
If
g (t )  G ( )
then
g (t )e
j 0 t
f ( x, y ) e
 G (  0 )
j 2 ( u 0
x
y
 v0 )
M
N
 F (u  u0 , v  v0 )
H.R. Pourreza
Frequency Shifting Property of the Fourier
Transform
H.R. Pourreza
Basic Filtering in the Frequency Domain
using Matlab
function Normalized_DFT = Img_DFT(img)
img=double(img); % So mathematical operations can be conducted on
% the image pixels.
[R,C]=size(img);
for r = 1:R
% To phase shift the image so the DFT will be
for c=1:C
% centered on the display monitor
phased_img(r,c)=(img(r,c))*(-1)^((r-1)+(c-1));
end
end
fourier_img = fft2(phased_img);
%Discrete Fourier Transform
mag_fourier_img = abs(fourier_img ); % Magnitude of DFT
Log_mag_fourier_img = log10(mag_fourier_img +1);
Max = max(max(Log_mag_fourier_img ));
Normalized_DFT = (Log_ mag_fourier_img )*(255/Max);
imshow(uint8(Normalized_DFT))
H.R. Pourreza
Basic Filtering in the Frequency Domain
1.
2.
3.
4.
5.
6.
Multiply the input image by (-1)x+y to center the transform
Compute F(u,v), the DFT of the image from (1)
Multiply F(u,v) by a filter function H(u,v)
Compute the inverse DFT of the result in (3)
Obtain the real part of the result in (4)
Multiply the result in (5) by (-1)x+y
H.R. Pourreza
Filtering out the DC Frequency Component
H.R. Pourreza
Filtering out the DC Frequency Component
Notch Filter
0
H (u, v)  
1
if (u, v)  (M / 2, N / 2)
otherwise
H.R. Pourreza
Low-pass and High-pass Filters
Low Pass Filter attenuate
high frequencies while
“passing” low frequencies.
High Pass Filter
attenuate low frequencies
while “passing” high
frequencies.
H.R. Pourreza
Low-pass and High-pass Filters
H.R. Pourreza
Low-pass and High-pass Filters
H.R. Pourreza
Low-pass and High-pass Filters
H.R. Pourreza
Smoothing Frequency Domain, Ideal Lowpass Filters
1
H (u, v)  
0

if D(u, v)  D0
if D(u, v)  D0
D(u, v)  (u  M / 2)  (v  N / 2)
2
H.R. Pourreza

2 1/ 2
Smoothing Frequency Domain, Ideal Lowpass Filters
Total Power
The remained percentage
power after filtration
PT 
M 1N 1
  F (u, v)
2
u 0 v 0


  100  F (u, v) / PT 
u v

H.R. Pourreza
Smoothing Frequency Domain, Ideal Lowpass Filters
fc =5
 = 92%
fc =15
 = 94.6%
fc =30
 = 96.4%
fc =80
 = 98%
fc =230
 = 99.5%
H.R. Pourreza
Cause of Ringing
H.R. Pourreza
Project #5, Ideal Low-pass Filter
Implement in Matlab the Ideal low-pass filter in the
following equation.
1
H (u, v)  
0

if D(u, v)  D0
if D(u, v)  D0
D(u, v)  (u  M / 2)  (v  N / 2)
2

2 1/ 2
1. You must give the user the ability to specify the cutoff
frequency D0
2. Calculate the The remained percentage power after
filtration.
3. Display the image after filtration
4. Use Elaine image to test your program
H.R. Pourreza
Smoothing Frequency Domain, Butterworth
Low-pass Filters
H (u, v) 
1
1  D(u, v) / D0 
2n
H.R. Pourreza
Smoothing Frequency Domain, Butterworth
Low-pass Filters
Radii= 5
Butterworth Low-pass
Filter: n=2
Radii= 15
Radii= 30
Radii= 230
Radii= 80
H.R. Pourreza
Smoothing Frequency Domain, Butterworth
Low-pass Filters
H.R. Pourreza
Smoothing Frequency Domain, Gaussian
Low-pass Filters
H (u, v)  e
 D2 (u ,v ) / 2 D02
H.R. Pourreza
Smoothing Frequency Domain, Gaussian
Low-pass Filters
Radii= 5
Gaussian Low-pass
Radii= 15
Radii= 30
Radii= 230
Radii= 80
H.R. Pourreza
Smoothing Frequency Domain, Gaussian
Low-pass Filters
H.R. Pourreza
Smoothing Frequency Domain, Gaussian
Low-pass Filters
H.R. Pourreza
Smoothing Frequency Domain, Gaussian
Low-pass Filters
H.R. Pourreza
Sharpening Frequency Domain Filters
Hhp(u,v) = 1 - Hlp(u,v)
H.R. Pourreza
Sharpening Frequency Domain Filters
H.R. Pourreza
Sharpening Frequency Domain, Ideal Highpass Filters
0
H (u, v)  
1
if D(u, v)  D0
if D(u, v)  D0
H.R. Pourreza
Sharpening Frequency Domain, Butterworth
High-pass Filters
H (u, v) 
1
1  D0 / D(u, v)
2n
H.R. Pourreza
Sharpening Frequency Domain, Gaussian
High-pass Filters
H (u, v)  1  e
 D 2 (u ,v ) / 2 D02
H.R. Pourreza
Homomorphic Filtering
H.R. Pourreza
Homomorphic Filtering
H.R. Pourreza
Convolution
k(t)
g(t)
h(t)
g(t) = k(t)*h(t)
G(f) = K(f)H(f)
* is a convolution operator and not multiplication
1
g ( t )  k ( t ) * h( t ) 
M
h(t)
M 1
 k (t  m)h(m)
m 0
k(t)
3
2
1
1
t
-1
H.R. Pourreza
t
1 2 3
Convolution
h(m)
1
g (0) 
M
1
m
g(t)
-1
k(-m)
m
H.R. Pourreza
M 1
 k (0  m)h(m)
m 0
Convolution
h(m)
1
g(t)
m
-1
k(1-m)
m
H.R. Pourreza
Convolution
h(m)
1
g(t)
m
-1
k(2-m)
m
H.R. Pourreza
Convolution
h(m)
1
g(t)
m
-1
k(3-m)
m
H.R. Pourreza
Convolution
h(m)
1
g(t)
m
-1
k(4-m)
m
H.R. Pourreza
Convolution
h(m)
1
g(t)
m
-1
k(5-m)
m
H.R. Pourreza
Convolution
h(m)
1
g(t)
m
-1
k(6-m)
m
H.R. Pourreza
2-Dimensions Convolution
1
f ( x, y) h( x, y) 
MN
M 1 N 1
  f (m, n)h( x  m, y  n)
m 0 n  0
H.R. Pourreza
Correlation
k(t)
h(t)
g(t)
1
g ( t )  k ( t )  h( t ) 
M
g(t) = k(t)h(t)
G(f) = K(f)* . H(f)
M 1
 k (t  m)h(m)
m 0
k(t)
g(t)
h(t)
2
1
2
1
t
t
-1
H.R. Pourreza
Correlation
H.R. Pourreza
Convolution
H.R. Pourreza
Convolution
H.R. Pourreza
Convolution
H.R. Pourreza
Convolution
H.R. Pourreza
Download