0% found this document useful (0 votes)
29 views60 pages

Fourier Transform

The document discusses image transforms and enhancement in the frequency domain. It begins with an overview of why image transforms are useful, such as for better image processing, fast computation, and efficient storage. It then provides examples and visualizations to explain 1D and 2D discrete Fourier transforms (DFT), including their properties, implementations, and applications for image filtering and enhancement. Finally, it introduces the discrete cosine transform (DCT) and compares it to the DFT.

Uploaded by

manjusha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views60 pages

Fourier Transform

The document discusses image transforms and enhancement in the frequency domain. It begins with an overview of why image transforms are useful, such as for better image processing, fast computation, and efficient storage. It then provides examples and visualizations to explain 1D and 2D discrete Fourier transforms (DFT), including their properties, implementations, and applications for image filtering and enhancement. Finally, it introduces the discrete cosine transform (DCT) and compares it to the DFT.

Uploaded by

manjusha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 60

Image Transforms and Image

Enhancement in Frequency Domain

Lecture 5, Feb 25th, 2008

Lexing Xie

EE4830 Digital Image Processing


http://www.ee.columbia.edu/~xlx/ee4830/
thanks to G&W website, Mani Thomas, Min Wu and Wade Trappe for slide materials
 HW clarification
 HW#2 problem 1
 Show: f - r2 f ¼ A f – B blur(f)
 A and B are constants that do not matter, it is up to you
to find appropriate values of A and B, as well as the
appropriate version of the blur function.

 Recap for lecture 4


roadmap

 2D-DFT definitions and intuitions


 DFT properties, applications
 pros and cons
 DCT
the return of DFT
 Fourier transform: a continuous
signal can be represented as a
(countable) weighted sum of
sinusoids.
warm-up brainstorm
 Why do we need image transform?
why transform?
 Better image processing
 Take into account long-range correlations in space
 Conceptual insights in spatial-frequency information.
what it means to be “smooth, moderate change, fast change, …”
 Fast computation: convolution vs. multiplication

 Alternative representation and sensing


 Obtain transformed data as measurement in radiology images
(medical and astrophysics), inverse transform to recover image

 Efficient storage and transmission


?
 Energy compaction
 Pick a few “representatives” (basis)
 Just store/send the “contribution” from each basis
outline
 why transform
 2D Fourier transform
 a picture book for DFT and 2D-DFT
 properties
 implementation
 applications
 discrete cosine transform (DCT)
 definition & visualization
 Implementation

next lecture: transform of all flavors, unitary


transform, KLT, others …
1-D continuous FT
 1D – FT

real(g(x)) imag(g(x))
 1D – DFT of length N
 =0

 =7

x x
1-D DFT in as basis expansion

Forward transform
real(A) imag(A)

u=0
Inverse transform

basis

u=7

n n
1-D DFT in matrix notations

real(A) imag(A)

u=0

N=8

u=7

n n
1-D DFT of different lengths

real(A) imag(A)
n
u

N=32
N=8

N=16 N=64
performing 1D DFT

real-valued input

Note: the coefficients in x and y on this slide are only meant for illustration purposes, which are not numerically accurate.
another illustration of 1D-DFT

real-valued input

Note: the coefficients in x and y are not numerically accurate


from 1D to 2D
1D 2D

?
Computing 2D-DFT

DFT

IDFT

 Discrete, 2-D Fourier & inverse Fourier transforms are implemented


in fft2 and ifft2, respectively
 fftshift: Move origin (DC component) to image center for display
 Example:
>> I = imread(‘test.png’); % Load grayscale image
>> F = fftshift(fft2(I)); % Shifted transform
>> imshow(log(abs(F)),[]); % Show log magnitude
>> imshow(angle(F),[]); % Show phase angle
2-D Fourier basis

real imag

real( ) imag( )
2-D FT illustrated
real-valued

real

imag
notes about 2D-DFT
 Output of the Fourier transform is a complex number
 Decompose the complex number as the magnitude and phase
components
 In Matlab: u = real(z), v = imag(z), r = abs(z), and
theta = angle(z)
Explaining 2D-DFT

fft2

ifft2
circular convolution and zero padding
zero padded filter and response
zero padded filter and response
observation 1: compacting energy
observation 2: amplitude vs. phase

 Amplitude: relative prominence of sinusoids


 Phase: relative displacement of sinusoids
another example: amplitude vs. phase

A = “Aron” P = “Phyllis”
FA = fft2(A) FP = fft2(P)

log(abs(FA)) log(abs(FP))

angle(FA) angle(FP)

ifft2(abs(FA), angle(FP)) ifft2(abs(FP), angle(FA))

Adpated from http://robotics.eecs.berkeley.edu/~sastry/ee20/vision2/vision2.html


fast implementation of 2-D DFT
 2 Dimensional DFT is separable

1-D DFT
of f(m,n)
w.r.t n

1-D DFT
of F(m,v)
w.r.t m

 1D FFT: O(N¢log2N)
 2D DFT naïve implementation: O(N4)
 2D DFT as 1D FFT for each row and then for
each column
Implement IDFT as DFT

DFT2

IDFT2
Properties of 2D-DFT
duality result
outline
 why transform
 2D Fourier transform
 a picture book for DFT and 2D-DFT
 properties
 implementation
 applications
 discrete cosine transform (DCT)
 definition & visualization
 implementation
DFT application #1: fast Convolution

? ?
O(N2)

Spatial filtering
f(x.y)*h(x.y)

?
DFT application #1: fast convolution

O(N2¢log2N) O(N2) O(N2¢log2N)

Spatial filtering
f(x.y)*h(x.y)

O(N4)
DFT application #2: feature correlation
 Find letter “a” in the following image

bw = imread('text.png'); a = imread(‘letter_a.png');
% Convolution is equivalent to correlation if you rotate the
convolution kernel by 180deg
C = real(ifft2(fft2(bw) .*fft2(rot90(a,2),256,256)));

% Use a threshold that's a little less than max.


% Display showing pixels over threshold.
thresh = .9*max(C(:)); figure, imshow(C > thresh)

from Matlab image processing demos.


DFT application #3: image filters
 Zoology of image filters
 Smoothing / Sharpening / Others
 Support in time vs. support in frequency
c.f. “FIR / IIR”
 Definition: spatial domain/frequency domain
 Separable / Non-separable
smoothing filters: ideal low-pass
butterworth filters
Gaussian filters
low-pass filter examples
smoothing filter application 1

text enhancement
smoothing filter application 2
beautify a photo
high-pass filters
sobel operator in frequency domain

Question:
Sobel vs. other high-pass
filters?
Spatial vs frequency
domain implementation?
high-pass filter examples
outline
 why transform
 2D Fourier transform
 a picture book for DFT and 2D-DFT
 properties
 implementation
 applications in enhancement, correlation
 discrete cosine transform (DCT)
 definition & visualization
 implementation
Is DFT a Good (enough) Transform?
 Theory

 Implementation

 Application
The Desirables for Image Transforms
 Theory DFT ???
 Inverse transform available X
 Energy conservation (Parsevell) X
 Good for compacting energy ?
 Orthonormal, complete basis
 (sort of) shift- and rotation invariant
X
 Implementation X
 Real-valued x
 Separable X
 Fast to compute w. butterfly-like structure X
 Same implementation for forward and
inverse transform X
 Application
 Useful for image enhancement X
 Capture perceptually meaningful structures X
in images
DFT vs. DCT
1D-DCT 1D-DFT

a real(a) imag(a)

u=0 u=0

u=7 u=7

n=7
1-D Discrete Cosine Transform (DCT)
 N 1
  ( 2n  1) k 


Z ( k )  
n 0
z ( n )   ( k ) cos 
 2N 


 z ( n) 
N 1
  ( 2n  1) k 



k 0
Z ( k )   ( k ) cos 
 2N 

1 2
 (0)  ,  (k ) 
N N
 Transform matrix A
 a(k,n) = (0) for k=0

 a(k,n) = (k) cos[(2n+1)/2N] for k>0

 A is real and orthogonal


 rows of A form orthonormal basis
 A is not symmetric!
 DCT is not the real part of unitary DFT!
1-D DCT
1.0 1.0 100 100

0.0 0.0 0 0

-1.0 -1.0 -100 u=0 -100 u=0 to 4


z(n)
1.0 1.0 100 100

n 0.0 0.0 0 0

Original signal -1.0 -1.0 -100 u=0 to 1 -100 u=0 to 5

1.0 1.0 100 100

0.0 0.0 0 0

-1.0 -1.0 -100 u=0 to 2 -100 u=0 to 6


Z(k)
1.0 1.0 100 100

k 0.0 0.0 0 0

-1.0 -1.0 -100 u=0 to 3 -100 u=0 to 7


Transform coeff.
Basis vectors Reconstructions
DFT and DCT in Matrix Notations
Matrix notation for 1D transform

1D-DCT 1D-DFT

N=32 A real(A) imag(A)


From 1D-DCT to 2D-DCT

u=0

u=7

n=7

 Rows of A form a set of orthonormal basis


 A is not symmetric!
 DCT is not the real part of unitary DFT!
basis images: DFT (real) vs DCT
Periodicity Implied by DFT and DCT
DFT and DCT on Lena
DFT2 DCT2

Shift low-freq
to the center

Assume periodic and zero-padded … Assume reflection …


Using FFT to implement fast DCT
 Reorder odd and even elements
~z ( n)  z ( 2n ) N
~ for 0  n  1
 z ( N  n  1)  z ( 2n  1) 2

 Split the DCT sum into odd and even terms


 N / 21   ( 4n  1) k  N / 2 1   ( 4n  3) k  
Z ( k )   ( k )   z ( 2n)  cos  
 z ( 2 n  1)  cos  
 n 0  2N  n 0  2N 
 N / 2 1 ~   ( 4n  1) k  N / 2 1 ~   ( 4n  3) k  
  ( k )   z ( n)  cos    z ( N  n  1)  cos   
 n 0  2N n 0 2N 
 N / 2 1 ~   ( 4n  1) k  N 1
  ( 4 N  4n'1) k  
  ( k )   z ( n)  cos  
 ~
z ( n ' )  cos   
 n 0  2 N n ' N / 2 2 N 
N 1
  ( 4n  1) k   N 1
 j 2nk / N 
  ( k ) z ( n)  cos
~
  Re   ( k ) e  jk / 2 N
 ~
z ( n )  e 
n 0  2N   n 0 

 Re  ( k )e  jk / 2 N DFT  ~ z ( n) N 
The Desirables for Image Transforms
 Theory DFT DCT ???
 Inverse transform available X X
 Energy conservation (Parsevell) X X
 Good for compacting energy ? ?
 Orthonormal, complete basis
 (sort of) shift- and rotation invariant
X X
 Implementation X X
 Real-valued x X
 Separable X X
 Fast to compute w. butterfly-like structure X X
 Same implementation for forward and
inverse transform X X
 Application
 Useful for image enhancement X
 Capture perceptually meaningful structures X
in images
Summary of Lecture 5
 Why we need image transform
 DFT revisited
 Definitions, properties, observations, implementations, applications
 What do we need for a transform
 DCT

 Coming in Lecture 6:
 Unitary transforms, KL transform, DCT
 examples and optimality for DCT and KLT, other transform flavors,
Wavelets, Applications
 Readings: G&W chapter 4, chapter 5 of Jain has been posted on
Courseworks

 “Transforms” that do not belong to lectures 5-6:


Rodon transform, Hough transform, …

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy