Image Enhancement in the Frequency Domain
Topics
Frequency Domain Enhancements
Fourier Transform
Convolution
High Pass Filtering in Frequency Domain
Low Pass Filtering in Frequency Domain
Frequency Domain
A frequency-domain graph shows how much of the
signal lies within each given frequency band over a
range of frequencies.
A frequency-domain representation can also include
information on the phase shift that must be applied to
each sinusoid in order to be able to recombine the
frequency components to recover the original time
signal.
A given function or signal can be converted between
the time and frequency domains with a pair of
mathematical operators called a transform
Frequency Domain
Fourier Transform
Fourier transform is given by
Inverse Fourier transform is
Two Dimensional Fourier Transform
Forward Fourier Transform is:
Inverse Fourier Transform is:
Discrete Fourier Transform
1D forward transform
1D inverse transform
Fourier Transform Properties
From Euler’s Equation we have:
Hence by replacing we get
Magnitude, Phase, and Power
Spectrum of Fourier Transform
Magnitude of Fourier transform is found by:
Phase is given by:
Power Spectrum is:
Sample Functions and their
Fourier Transforms
Sample Fourier Analysis
Convolution
In 2D continuous space, convolution is defined by:
In 2D discrete space convolution is given by:
Convolution
Filtering in Frequency Domain
Basic Steps of Filtering in Frequency Domain Are:
Compute F(u,v), the DFT of the input image
Multiply F(u,v) by a filter function H(u,v)
Compute inverse DFT of the result
Obtain real part of the inverse DFT
Filtering in Frequency Domain
Spatial Masks in Time Domain
Convolving Mask with Image in
Time Domain
Convolving mask with image is carried out by sliding
the mask over the image, multiplying mask values with
the pixel values falling beneath them and obtaining
the sum.
The convolution is converted to multiplication in
frequency domain
Sample Frequency Domain Filters
Notch Filter: Changes the average value of an image to
zero
Low Pass Filters
Ideal Low Pass Filter
Some Low Pass Filters
Gaussian low pass filter (GLPF)
D(u,v) is the distance from the origin of the Fourier
transform.
Result of Filtering with GLPF
Low Pass Filter Example
High Pass Filter
High Pass Filters
Simplest high pass filter is the complement of low pass
filter
Ideal high pass filter is given by:
High Pass Filters
Gaussian high pass filter is given by:
D0 is the distance from the center to cut-off frequency
D(u,v) is the distance from any point (u,v) to the
center given by
Example Results with D0 = 15, 30
and 80
Ideal and Gaussian High Pass Filters
MATLAB Implementations
Use fft(.) function for 1D Fourier transform and fft2(.)
for 2D transform.
Use ifft and ifft2 for inverse Fourier transforms
Example:
I = imread(‘test.jpg’);
FI = fft2(I);
FI2 = log(abs(FI));
imshow( FI2, [-1 5] , 'InitialMagnification','fit')
Fast Convolution
Read the image
Create the mask (or read it)
Find the Fourier transforms of the Image and the
mirror of the mask (rotate by 180 degrees)
Multiply the transformed image and the transformed
mask
Find the inverse Fourier transform of the result
Fast Convolution
I = imread(‘test.bmp’);
Mask = [1 1 1
000
-1 -1 -1];
FI = fft2(I);
FMask = fft2(Mask, size(I,1), size(I,2));
RF = FI .* FMask;
R = ifft2( RF );
Example: Detecting a Letter
To find a sample pattern in an image convolution can
be used
Assume Image is given at variable I and the pattern at
P
C = real(ifft2( fft2( I ) .* fft2( rot90(P,2)));
MaxC = max(C);
imshow( C > MaxC – 5 )
Questions?
Assignment
Will be posted on http://ceng503.cankaya.edu.tr