Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial...

36
Filtering in the Frequency Domain Image Processing CSE 166 Lecture 7

Transcript of Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial...

Page 1: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the Frequency Domain

Image Processing

CSE 166

Lecture 7

Page 2: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Announcements

• Assignment 3 will be released today

– Due Apr 27, 11:59 PM

• Reading

– Chapter 4: Filtering in the Frequency Domain

CSE 166, Spring 2020 2

Page 3: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Overview: Image processing in the frequency domain

CSE 166, Spring 2020 3

Image in spatial domain

f(x,y)

Image in spatial domain

g(x,y)

Fouriertransform

Image in frequency domain

F(u,v)

Inverse Fourier

transform

Image in frequency domain

G(u,v)

Frequency domain processing

Jean-Baptiste Joseph Fourier1768-1830

Page 4: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

2D continuous Fourier transform

• (Forward) Fourier transform

• Inverse Fourier transform

CSE 166, Spring 2020 4

Page 5: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

2D continuous Fourier transform

CSE 166, Spring 2020

1D

2D

5

Example: box function

Page 6: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Unit discrete impulse

CSE 166, Spring 2020

1D

2D

6

Page 7: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Impulse train

CSE 166, Spring 2020

1D

2D

7

Page 8: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Fourier transform of sampled functionand extracting one period

CSE 166, Spring 2020 8

1D

2D

Over-sampled Under-sampled

Recovered Imperfect recoverydue to

interference

Page 9: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Aliasing

CSE 166, Spring 2020

1D

2D

Aliasing

Original

9

Page 10: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Aliasing in real images

CSE 166, Spring 2020

AliasingOriginal No aliasing

10

Page 11: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

2D Discrete Fourier Transform

Page 12: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

2D discrete Fourier transform (DFT)

• (Forward) Fourier transform

• Inverse Fourier transform

CSE 166, Spring 2020 12

Page 13: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Centering the DFT

CSE 166, Spring 2020

1D

2D

In MATLAB, use fftshift and ifftshift

13

Page 14: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Centering the DFT

CSE 166, Spring 2020

Original

DFT(look at corners)

Shifted DFTLog of

shifted DFT

14

Page 15: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

DFT magnitude of geometrically transformed images

CSE 166, Spring 2020

Translated

Rotatedabout center

Same magnitude as original

(invariant to translation)

15

Page 16: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

DFT phase of geometrically transformed images

CSE 166, Spring 2020

TranslatedRotated

about centerOriginal

16

Page 17: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Contributions of magnitude and phaseto image formation

CSE 166, Spring 2020

Phase

IDFT: Phase only

(zero magnitude)

IDFT: Magnitude

only (zero phase)

IDFT: Boy magnitude

and rectangle phase

IDFT: Rectangle magnitude

and boy phase 17

Page 18: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

2D convolution theorem

• 2D discrete (circular) convolution

• 2D convolution theorem

CSE 166, Spring 2020 18

Page 19: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering using convolution theorem

CSE 166, Spring 2020

Filtering in spatial domain

using convolution

expectedresult

Filtering in frequencydomain

using productwithout

zero-padding

wraparounderror

19

Page 20: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering using convolution theorem

CSE 166, Spring 2020

Filtering in frequencydomain

using productwith

zero-padding

no wraparounderror

Gaussian lowpass filter in

frequency domain

20

Fourier transform

Product

Inverse Fourier transform

Zero padding

Page 21: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering using convolution theorem

CSE 166, Spring 2020

Filtering in spatial

domain using

convolution

Filtering in frequencydomain

usingproduct

Identical results

DFT

21

Page 22: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the frequency domain

• Ideal lowpass filter (LPF)

– Frequency domain

CSE 166, Spring 2020 22

Page 23: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the frequency domain

• Ideal lowpass filter (LPF)

– Spatial domain

CSE 166, Spring 2020 23

H(u,v) h(x,y)

Page 24: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the frequency domain

• Gaussian lowpass filter (LPF)

CSE 166, Spring 2020 24

Page 25: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the frequency domain

• Butterworth lowpass filter (LPF)

CSE 166, Spring 2020 25

Page 26: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Gaussian LPF

Filtering in the frequency domain

CSE 166, Spring 2020

Ideal LPF Butterworth LPF

26

Page 27: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Example: character recognition

CSE 166, Spring 2020 27

Gaussian LPFjoins broken characters

Page 28: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Highpass filter (HPF)Frequency domain

CSE 166, Spring 2020

Ideal HPF

Gaussian HPF

Butterworth HPF

28

Page 29: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Butterworth HPF

Highpass filter (HPF)Spatial domain

CSE 166, Spring 2020

Ideal HPF Gaussian HPF

29

Page 30: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the frequency domain

CSE 166, Spring 2020

Ideal HPF Gaussian HPF Butterworth HPF

30

Page 31: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

H (u)

u u

x x

H (u)

h (x)

1

16–– 3

h (x)

2 12 12 1

2 1 8 2 1

2 12 12 1

0 2 1 0

2 1 4 2 1

0 2 1 0

1 2 1

2

1

9–– 3

4 2

1 2 1

1 1 1

1 1 1

1 1 1

Filtering in the frequency domain

CSE 166, Spring 2020

1D

Lowpass filter Sharpening filter31

Frequencydomain

Spatialdomain

Page 32: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the frequency domain

CSE 166, Spring 2020

2D

32

Lowpass filter Highpass filter Offset highpass filter

Page 33: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Bandreject filters

CSE 166, Spring 2020 33

ButterworthIdeal Gaussian

Page 34: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Filtering in the frequency domain

• Sharpening filter

CSE 166, Spring 2020 34

Page 35: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Overview: Image processing in the frequency domain

CSE 166, Spring 2020 35

Image in spatial domain

f(x,y)

Image in spatial domain

g(x,y)

Fouriertransform

Image in frequency domain

F(u,v)

Inverse Fourier

transform

Image in frequency domain

G(u,v)

Frequency domain processing

Jean-Baptiste Joseph Fourier1768-1830

Page 36: Filtering in the Frequency Domaincseweb.ucsd.edu/classes/sp20/cse166-a/lec7.pdfFiltering in spatial domain using convolution Filtering in frequency domain using product Identical results

Next Lecture

• Image restoration

• Reading

– Chapter 5: Image Restoration and Reconstruction

CSE 166, Spring 2020 36