Title: Frequency Domain Processing
1Frequency Domain Processing
20. Overview of Linear Systems
- In image processing, linear systems are at the
heart of many filtering operations, and they
provide the basis for analyzing complex problems
in areas such as image restoration. - In this section we give a short review of linear
systems
30.1 Definitions
40.1 Definitions
50.1 Definitions
60.1 Definitions
70.1 Definitions
80.2 Convolutions
90.2 Convolutions
100.2 Convolutions
110.2 Convolutions
120.2 Convolutions
13Frequency Domain Processing
141 The 2D Discrete Fourier Transform
- Let f(x,y) for x0,1,2, ..., M-1 and y1,2, ...,
N-1 denote an MN image. The 2D DFT of f is
given by - The frequency domain is simply the coordinate
system spanned by F(u,v) with u and v as
frequency variables.
151 The 2D Discrete Fourier Transform
- The inverse DFT is given by
- Thus, given F(u,v), we can obtain f(x,y) back by
means of the inverse DFT.
161 The 2D Discrete Fourier Transform
- The value of the transform at the origin of the
frequency domain that is F(0,0) is called the dc
component of the Fourier transform. - Even if f(x,y) is real, its transform is complex.
- The principal method of visually analyzing a
transform is to compute its spectrum that is the
magnitude of F(u,v).
171 The 2D Discrete Fourier Transform
- The Fourier spectrum is defined as
- The phase angle is defined as
-
181 The 2D Discrete Fourier Transform
- The polar representation of F(u,v) is defined by
- The power spectrum is defined as
-
191 The 2D Discrete Fourier Transform
- It can be shown that
- The DFT is infinitely periodic in both u and v
directions, with - the periodicity determined by M and N.
-
201 The 2D Discrete Fourier Transform
- Periodicity is also a property of the inverse
DFT. - An image obtained by taking the inverse DFT is
also infinitely - periodic in both u and v directions, with the
periodicity - determined by M and N.
-
211 The 2D Discrete FourierTransform
221 The 2D Discrete FourierTransform
232 Computing and Vizualizing the 2D DFT
- The FFT of an M N image array is obtained by
the syntax -
- Ffft2(f)
- and with padding by the syntax
- Ffft2(f, P,Q)
- The Fourier spectrum is obtained as
- Sabs(F)
242 Computing and Vizualizing the 2D DFT
- The funcion Ffft2 (f) moves the origin of
transform to the center of the frequency
rectangle. - Fcfftshift (F)
- Log transformation
- S2log(1abs(Fc))
- Function ifftshift reverses the centering
- Fifftshift(Fc)
252 Computing and Vizualizing the 2D DFT
- To compute inverse FFT
- fifft2 (F)
- If the imput used to compute F is real then the
inverse should also be real. However fft2 often
has small imaginary components resulting from
round-off errors. It is good practice to extract
the real part of the result - freal(ifft2(F))
262 Computing and Vizualizing the 2D DFT
273 Filtering in the frequency domain
- The convolution theorem
- Linear spatial convolution is by convolving
f(x,y) and h(x,y). The same result is obtained in
the frequency domain by multiplying F(u,v) and
H(u,v). - The basic idea in frequency domain is to select a
filter transfer function that modifies F(u,v) in
a specified manner. A transfer function is
multiplied by a centered F(u,v). - A filter is called low pass filter if it
attenuates the high frequency components to
F(u,v) while leaving the low frequencies
relatively unchanged.
283 Filtering in the frequency domain
293 Filtering in the frequency domain
- Example Linear spatial filtering.
- f
- 0 0 0 0 0
- 0 0 0 0 0
- 0 0 1 0 0
- 0 0 0 0 0
- 0 0 0 0 0
w 1 2 3 4 5 6 7
8 9
gimfilter(f, w, filtering_mode,
boundary_options, size_options)
303 Filtering in the frequency domain
gimfilter(f, w, filtering_mode,
boundary_options, size_options)
gtgt gimfilter(f,w,'corr',0,'full') g 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 9
8 7 0 0 0 0 6 5
4 0 0 0 0 3 2 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
313 Filtering in the frequency domain
- With specified values of P and Q we use the
following syntax to compute the FFT using zero
padding. - gtgt Ffft2(f, 7,7)
- F
- Columns 1 through 2
- 1.00000000000000
-0.22252093395631 - 0.97492791218182i - -0.22252093395631 - 0.97492791218182i
-0.90096886790242 0.43388373911756i - -0.90096886790242 0.43388373911756i
0.62348980185873 0.78183148246803i - 0.62348980185873 0.78183148246803i
0.62348980185873 - 0.78183148246803i - 0.62348980185873 - 0.78183148246803i
-0.90096886790242 - 0.43388373911756i - -0.90096886790242 - 0.43388373911756i
-0.22252093395631 0.97492791218182i - -0.22252093395631 0.97492791218182i
1.00000000000000 - .
- .
- .
323.2 Basic steps in DFT filtering
- Obtain the padding parameters P and Q.
- Obtain the Fourier transform with padding
Ffft2(f, P,Q) - Generate a filter function, H of size PQ. If the
filter is centered then use Hfftshift(H)
before using the filter. - Multiply the transform by the filter GH.F
- Obtain the real part of G greal(ifft2(G))
- Crop the top,left rectangle to the original
size gg(1size(f,1), 1size(f,2))
334. Lowpass frequency domain filters
- Ideal lowpass filter (ILPF)
- where D(u,v) is the distance from point (u,v) to
the center of the - filter.
344. Lowpass frequency domain filters
- Butterworth lowpass filter (ILPF)
- where D(u,v) is the distance from point (u,v) to
the center of the - filter.
354. Lowpass frequency domain filters
- Gaussian lowpass filter (ILPF)
- where D(u,v) is the distance from point (u,v) to
the center of the - filter.
361 The 2D Discrete FourierTransform