View
218
Download
1
Category
Tags:
Preview:
Citation preview
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
1
The Fourier TransformLast week we talked about convolution as a technique for a variety of image processing applications (and we will see many more).
Convolution works in the spatial domain, i.e., it uses spatial filters that are shifted across an input image.
Sometimes it is useful to perform filtering in the frequency domain instead.
To understand what this means and to perform such filtering, we need to take a look at the Fourier transform.
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
2
The Fourier Transform
Jean Baptiste Joseph Fourier (and his Fourier-transformed image)
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
3
The Fourier Transform
The Fourier transform receives a function as its input and outputs another function.The Fourier transform assumes that the input function is periodic, i.e., repetitive, and defined for all real numbers.It transforms this function into a weighted sum of sinusoidal terms.Let us first look at one-dimensional functions.Later, we will move on to two-dimensional functions such as images.
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
4
=
3 sin(x) A
+ 1 sin(3x) B A+B
+ 0.8 sin(5x) CA+B+C
+ 0.4 sin(7x) DA+B+C+D
sin(x) A
Adding Sine Waves
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
5
The Fourier Transform
By adding a number of sine waves of different frequencies and amplitudes, we can approximate any given periodic function.However, if we limit ourselves to only sine waves with no offset, i.e., difference in phase at x = 0, we cannot perfectly reconstruct every function. For instance, the output of our function at x = 0 must always be 0.We could add a phase to each sine wave, but as Monsieur Fourier found out, it is sufficient to use both sine and cosine waves (which describe the same wave, but with a 90 phase difference) and keep all phases at 0.
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
6
The Fourier TransformSo for any given function f, we could define a function Fs that assigns to any frequency an amplitude (i.e., weight) that the sine wave of that frequency will receive in our sum of sine waves.
Similarly, we could define a function Fc that does the same for the cosine waves. In other words, these functions describe the contribution of different frequencies to the overall signal, our function f.While f describes our function in the spatial domain (i.e., what value does it have in what position x), Fs and Fc describe the same function in the frequency domain (i.e., the extent to which different frequencies are included in the function).
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
7
Refresher: Complex NumbersAs you certainly remember, complex numbers consist of a real and an imaginary part, which we will use to represent the contribution of cosine and sine waves, respectively, to a given function. For example, 5 + 3i means Re = 5 and Im = 3.Importantly, the exponentialfunction represents a rotation in the 2D spacespanned by the real andimaginary axes:
ei = cos + isin
cos
1
0
Im
Re0
sin
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
8
The Two-Dimensional Fourier Transform
)(2e ),(f),F( dxdyyxvu vyuxi
)(2e ),F(),( dudvvuyxf vyuxi
amplitude basis functionsand phase of required basis functions
Two-Dimensional Fourier Transform:
Note: F(u,v) is complex, while f(x, y) is real.
Two-Dimensional Inverse Fourier Transform:
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
9
2D Discrete Fourier Transform
1
0
1
0
)(2),(
11),( N
x
M
y
M
vy
N
uxi
eyxfMN
vuF
(u = 0,..., N-1; v = 0,…,M-1)
1
0
1
0
)(2),(),( N
u
M
v
M
vy
N
uxi
evuFyxf
(x = 0,..., N-1; y = 0,…,M-1)
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
10
2D Discrete Fourier TransformWhat do these equations mean?Well, if you look at the inverse transform, you see that each F(u, v) is multiplied by an exponential term for each pixel, and in sum they give us the original image.In other words, each exponential function represents one particular wave, and the sum of these waves, weighted by F, is our original image f.In the exponential term, you see an expression such as (ux + vy). This means that the variables u and v determine the “speed” with which the term increases when x and y, respectively, grow.Since this term determines the current angle of a wave, u and v determine the frequency of the waves in horizontal and vertical direction, respectively.
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
11
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
12
Magnitude And Phase SpectraRemember that we have both Fs and Fc to describe the sine and cosine contributions, respectively, to the spatial function.They can be used to compute the magnitude m:
… and the phase :
22cs FFm
c
s
F
Farctan
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
13
Fourier Transform: Rectangle
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
14
Fourier Transform: Spatial Shifting
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
15
Fourier Transform: Rotation
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
16
Fourier Transform: Multiplicity
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
17
Fourier Transform: Real-World Images
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
18
Fourier Transform: Real-World Images
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
19
Fourier Transform: Real-World Images
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
20
Fourier Transform: Low-Pass Filtering
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
21
Fourier Transform: High-Pass Filtering
September 30, 2014 Computer Vision Lecture 7: The Fourier Transform
22
Fourier Transform: Noise Removal
Recommended