frequency domain methods

86
Image Enhancement Frequency domain methods Prof. Duong Anh Duc

Upload: thanhhoang2012

Post on 21-May-2015

753 views

Category:

Education


0 download

DESCRIPTION

Frequency domain methods

TRANSCRIPT

Page 1: Frequency domain methods

Image EnhancementFrequency domain methods

Prof. Duong Anh Duc

Page 2: Frequency domain methods

Image Enhancement: Frequency domain methods

The concept of filtering is easier to visualize in the frequency domain.

Therefore, enhancement of image f(m,n) can be done in the frequency

domain, based on its DFT F(u,v) . This is particularly useful, if the spatial extent of the point-spread

sequence h(m,n) is large. In this case, the convolution

g(m,n) = h(m,n)*f(m,n)

may be computationally unattractive.

2

EnhancedImage

PSS

Given Image

Page 3: Frequency domain methods

Frequency domain methods

We can therefore directly design a transfer function H(u,v) and implement the enhancement in the frequency domain as follows:

G(u,v) = H(u,v)*F(u,v)

3

EnhancedImage

Transfer Function

Given Image

Page 4: Frequency domain methods

1-d Fourier transform of a sequence

Given a 1-d sequence s[k], k = {…,-1,0,1,2,…,} Fourier transform

Fourier transform is periodic with 2 Inverse Fourier transform

4

Page 5: Frequency domain methods

1-d Fourier transform of a sequence

How is the Fourier transform of a sequence s[k] related to the Fourier transform of the continuous signal

Continuous-time Fourier transform

5

Page 6: Frequency domain methods

2-d Fourier transform of a digital image

Given a 2-d matrix of image samples

s[m,n], m,n Z2 Fourier transform

Fourier transform is 2-periodic both in x and y Inverse Fourier transform

6

Page 7: Frequency domain methods

2-d Fourier transform of a digital image

How is the Fourier transform of a sequence s[m,n] related to the Fourier transform of the continuous signal

Continuous-space 2D Fourier transform

7

Page 8: Frequency domain methods

Fourier Transform Example

8

|F(u,v)| displayed as imagef(x,y)

Page 9: Frequency domain methods

Fourier Transform Example

9|F(u,v)| displayed in 3-D

Page 10: Frequency domain methods

Fourier Transform Example Image

10

Image Magnitude Spectrum

Page 11: Frequency domain methods

Fourier Transform Example Image

11

Image Magnitude Spectrum

Page 12: Frequency domain methods

Fourier Transform Example Image

12

Image Magnitude Spectrum

Page 13: Frequency domain methods

Fourier Transform Example Image

As the size of the box increases in spatial domain, the corresponding “size” in the frequency domain decreases.

13

Page 14: Frequency domain methods

Fourier Transform of “Rice” Image

14

|F(u,v)|f(x,y)

Page 15: Frequency domain methods

Fourier Transform of “Rice” Image

15

F(u,v)

Page 16: Frequency domain methods

Fourier Transform of “Camera Man” Image

16

|G(u,v)|g(x,y)

Page 17: Frequency domain methods

Fourier Transform of “Camera Man” Image

17

G(u,v)

Page 18: Frequency domain methods

Image formed from magnitude spectrum of Rice and phase spectrum of Camera man

18

Importance of Phase Information in Images

Page 19: Frequency domain methods

19

Image formed from magnitude spectrum of Camera man and phase spectrum of Rice

Importance of Phase Information in Images

Page 20: Frequency domain methods

1-D Discrete Fourier Transform (DFT)

For discrete images of finite extent, the analogous Fourier transform is the DFT.

We will first study this for the 1-D case, which is easier to visualize. Suppose { f(0), f(1), …, f(N – 1)} is a sequence/ vector/1-D image

of length N. Its N-point DFT is defined as

Inverse DFT (note the normalization):

20

Page 21: Frequency domain methods

1-D Discrete Fourier Transform (DFT)

Example: Let f(n) = {1, -1 ,2,3 } (Note that N=4)

21

Page 22: Frequency domain methods

1-D Discrete Fourier Transform (DFT)

F(u) is complex even though f(n) is real. This is typical. Implementing the DFT directly requires O(N2) computations, where N

is the length of the sequence. There is a much more efficient implementation of the DFT using the

Fast Fourier Transform (FFT) algorithm. This is not a new transform (as the name suggests) but just an efficient algorithm to compute the DFT.

22

Page 23: Frequency domain methods

1-D Discrete Fourier Transform (DFT)

The FFT works best when N = 2m (or is the power of some integer base/radix). The radix-2 algorithm is most commonly used.

The computational complexity of the radix-2 FFT algorithm is Nlog(N) adds and ½Nlog(N) multiplies. So it is an Nlog(N) algorithm.

In MATLAB, the command fft implements this algorithm (for 1-D case).

23

Page 24: Frequency domain methods

2-D Discrete Fourier Transform (DFT)

The Fourier transform is suitable for continuous-domain images, which maybe of infinite extent.

For discrete images of finite extent, the analogous Fourier transform is the 2-D DFT.

24

Page 25: Frequency domain methods

2-D Discrete Fourier Transform (DFT)

Suppose f(m,n), m = 0,1,2,…M – 1, n = 0,1,2,…N – 1, is a discrete

NM image. Its 2-D DFT F(u,v) is defined as:

Inverse DFT is defined as:

25

Page 26: Frequency domain methods

2-D Discrete Fourier Transform (DFT)

For discrete images of finite extent, the analogous Fourier transform is the 2-D DFT.

Note about normalization: The normalization by MN is different than that in text. We will use the one above since it is more widely used. The Matlab function fft2 implements the DFT as defined above.

26

Page 27: Frequency domain methods

2-D Discrete Fourier Transform (DFT)

Most often we have M=N (square image) and in that case, we define a unitary DFT as follows:

We will refer to the above as just DFT (drop unitary) for simplicity.

27

Page 28: Frequency domain methods

Convolution Example

28

Page 29: Frequency domain methods

Convolution Example

29

In matlab, if f and h are matrices representing two images,

conv2(f, h) gives the 2D-convolution of images f and h.

Page 30: Frequency domain methods

Properties of DFT

Linearity (Distributivity and Scaling): This holds inboth discrete and continuous-domains.o DFT of the sum of two images is the sum of their individual DFTs.

o DFT of a scaled image is the DFT of the original image scaled by the same factor.

30

Page 31: Frequency domain methods

Properties of DFT

Spatial scaling (only for continuous-domain):

o If a, b > 1, image “shrinks” and the spectrum “expands.”

31

Page 32: Frequency domain methods

Properties of DFT

Periodicity (only for discrete case): The DFT and its inverse are

periodic (in both the dimensions), with period N.

F(u,v) = F(u+N,v) = F(u,v+N) = F(u+N,v+N)o Similarly,

is also N-periodic in m and n.

32

Page 33: Frequency domain methods

Properties of DFT

Separability (both continuous and discrete): Decomposition of 2D DFT into 1D DFTs

33

Page 34: Frequency domain methods

Properties of DFT

o Similarly,

34

Page 35: Frequency domain methods

Properties of DFT

Convolution: In continuous-space, Fourier transform of the convolution is the product of the Four transforms.

F[f(x,y)*h(x,y)] = F(u,v) H(u,v)So if

g(x,y) = f(x,y)*h(x,y)

is the output of an LTI transformation with PSF h(x,y) to an input image

f(x,y), then

G(u,v) = F(u,v)*H(u,v)

35

Page 36: Frequency domain methods

Properties of DFT

o In other words, output spectrum G(u,v) is the product of the input

spectrum F(u,v) and the transfer function H(u,v).o So the FT can be used as a computational tool to simplify the

convolution operation.

36

Page 37: Frequency domain methods

Properties of DFT

Correlation: In continuous-space, correlation between two images

f(x,y) and h(x,y) is defined as:

Therefore,

37

Page 38: Frequency domain methods

Properties of DFT

rff(x,y) is usually called the auto-correlation of image f(x,y) (with

itself) and rff(x,y) is called the crosscorrelation between f(x,y) and

h(x,y). Roughly speaking, rfh(x,y) measures the degree of similarity

between images f(x,y) and h(x,y). Large values of rfh(x,y) would indicate that the images are very similar.

38

Page 39: Frequency domain methods

Properties of DFT

This is usually used in template matching, where h(x,y) is a template

shape whose presence we want to detect in the image f(x,y). Locations where rfh(x,y) is high (peaks of the crosscorrelation

function) are most likely to be the location of shape h(x,y) in image

f(x,y).

39

Page 40: Frequency domain methods

Properties of DFT

Convolution property for discrete images: Suppose

f(m,n), m = 0,1,2,…M–1, n = 0,1,2,…N–1 is an NM image and

h(m,n), m = 0,1,2,…K–1, n = 0,1,2,…L–1 is an NM image.

then

g(m,n) = f(m,n)*h(m,n) is a (M+K–1)(N+L–1) image.

40

Page 41: Frequency domain methods

Properties of DFT

So if we want a convolution property for discrete images --- something like

g(m,n) = f(m,n)*h(m,n)

we need to have G(u, v) to be of size (M+K–1)(N+L–1) (since

g(m, n) has that dimension).

Therefore, we should require that F(u, v) and H(u, v) also have the

same dimension, i.e. (M+K–1)(N+L–1)

41

Page 42: Frequency domain methods

Properties of DFT

So we zero-pad the images f(m, n), h(m, n), so that they are of size

(M+K–1 )(N+L–1). Let fe(m,n) and he(m,n) be the zero-padded (or

extended images).

Take their 2D-DFTs to obtain F(u, v) and H(u, v), each of size

(M+K–1)(N+L– 1). Then

Similar comments hold for correlation of discrete images as well.

42

Page 43: Frequency domain methods

Properties of DFT

Translation: (discrete and continuous case):

Note that

so f(m, n) and f(m–m0, n–n0) have the same magnitude spectrum

but different phase spectrum. Similarly,

43

Page 44: Frequency domain methods

Properties of DFT

Conjugate Symmetry: If f(m, n) is real, then F(u, v) is conjugate symmetric, i.e.

Therefore, we usually display F(u–N/2,v–N/2), instead of F(u, v), since it is easier to visualize the symmetry of the spectrum in this case.

This is done in Matlab using the fftshift command.

44

Page 45: Frequency domain methods

Properties of DFT

Multiplication: (In continuous-domain) This is the dual of the convolution property. Multiplication of two images corresponds to convolving their spectra.

F[f(x,y)h(x,y)] = F(u,v) H(u,v)

45

Page 46: Frequency domain methods

“Centered” Magnitude Spectrum

46

f(m,n)

Page 47: Frequency domain methods

“Centered” Magnitude Spectrum

47

|F(u–N/2,v–N/2)||F(u,v)|

Page 48: Frequency domain methods

Properties of DFT

Average value: The average pixel value in an image:

Notice that (substitute u = v = 0 in the definition):

48

Page 49: Frequency domain methods

Properties of DFT

Differentiation: (Only in continuous-domain): Derivatives are normally used for detecting edged in an image. An edge is the boundary of an object and denotes an abrupt change in grayvalue. Hence it is a region with high value of derivative.

49

Page 50: Frequency domain methods

Properties of DFT

50

Page 51: Frequency domain methods

Lowpass and Hipass Filters

51

Page 52: Frequency domain methods

Frequency domain Filters vsSpatial Filters

52

Page 53: Frequency domain methods

Lowpass filtering

Edges and sharp transitions in grayvalues in an image contribute significantly to high-frequency content of its Fourier transform.

Regions of relatively uniform grayvalues in an image contribute to low-frequency content of its Fourier transform.

Hence, an image can be smoothed in the Frequency domain by attenuating the high-frequency content of its Fourier transform. This would be a lowpass filter!

53

Page 54: Frequency domain methods

Ideal Lowpass filtering

54

Page 55: Frequency domain methods

Ideal Lowpass filtering

For simplicity, we will consider only those filters that are real and radially symmetric.

An ideal lowpass filter with cutoff frequency r0:

55

Page 56: Frequency domain methods

Ideal Lowpass filtering

Note that the origin (0, 0) is at the center and not the corner of the image (recall the “fftshift” operation).

The abrupt transition from 1 to 0 of the transfer function H(u,v) cannot be realized in practice, using electronic components. However, it can be simulated on a computer.

56Ideal LPF with r0 = 57

Page 57: Frequency domain methods

Ideal LPF examples

57

Ideal LPF with r0 = 57 Original Image

Page 58: Frequency domain methods

Ideal LPF examples

58

Ideal LPF with r0 = 26 Ideal LPF with r0= 36

Page 59: Frequency domain methods

Ideal LPF examples

Notice the severe ringing effect in the blurred images, which is a characteristic of ideal filters. It is due to the discontinuity in the filter transfer function.

59

Page 60: Frequency domain methods

Choice of cutoff frequency in ideal LPF

The cutoff frequency r0 of the ideal LPF determines the amount of

frequency components passed by the filter.

Smaller the value of r0, more the number of image components

eliminated by the filter.

In general, the value of r0 is chosen such that most components of

interest are passed through, while most components not of interest are eliminated.

Usually, this is a set of conflicting requirements. We will see some details of this is image restoration

A useful way to establish a set of standard cut-off frequencies is to compute circles which enclose a specified fraction of the total image power.

60

Page 61: Frequency domain methods

Choice of cutoff frequency in ideal LPF

Suppose

where is the total image power.

Consider a circle of radius =r0(a) as a cutoff frequency with respect to

a threshold a such that

We can then fix a threshold a and obtain an appropriate cutoff

frequency r0(a) .

61

Page 62: Frequency domain methods

Butterworth lowpass filter

A two-dimensional Butterworth lowpass filter has transfer function:

n: filter order, r0: cutoff frequency

62

Page 63: Frequency domain methods

Butterworth lowpass filter

63

Page 64: Frequency domain methods

Butterworth lowpass filter

64

Page 65: Frequency domain methods

Butterworth lowpass filter

Frequency response does not have a sharp transition as in the ideal LPF.

This is more appropriate for image smoothing than the ideal LPF, since this not introduce ringing.

65

Page 66: Frequency domain methods

Butterworth LPF examples

66

LPF with r0= 18 Original Image

Page 67: Frequency domain methods

Butterworth LPF examples

67

LPF with r0= 10 LPF with r0= 13

Page 68: Frequency domain methods

Butterworth LPF example: False contouring

68

Image with false contouring due to insufficient bits used

for quantization

Lowpass filtered version of previous image

Page 69: Frequency domain methods

Butterworth LPF example: Noise filtering

69

Original Image Noisy Image

Page 70: Frequency domain methods

Butterworth LPF example: Noise filtering

70

LPF Image

Page 71: Frequency domain methods

Gaussian Low pass filters

The form of a Gaussian lowpass filter in two-dimensions is given by

where

is the distance from the origin in the frequency plane. The parameter s measures the spread or dispersion of the Gaussian

curve. Larger the value of s, larger the cutoff frequency and milder the filtering.

When s = D(u, v), the filter is down to 0.607 of its maximum value of 1.

71

22, vuvuD

22 2,, vuDevuH

Page 72: Frequency domain methods

Gaussian Low pass filters

72

Page 73: Frequency domain methods

Highpass filtering

Edges and sharp transitions in grayvalues in an image contribute significantly to high-frequency content of its Fourier transform.

Regions of relatively uniform grayvalues in an image contribute to low-frequency content of its Fourier transform.

Hence, image sharpening in the Frequency domain can be done by attenuating the low-frequency content of its Fourier transform. This would be a highpass filter!

73

Page 74: Frequency domain methods

Highpass filtering

For simplicity, we will consider only those filters that are real and radially symmetric.

An ideal highpass filter with cutoff frequency r0:

74

Page 75: Frequency domain methods

Highpass filtering

Note that the origin (0, 0) is at the center and not the corner of the image (recall the “fftshift” operation).

The abrupt transition from 1 to 0 of the transfer function H(u,v) cannot be realized in practice, using electronic components. However, it can be simulated on a computer.

75Ideal HPF with r0= 36

Page 76: Frequency domain methods

Ideal HPF examples

76

Ideal HPF with r0= 18 Original Image

Page 77: Frequency domain methods

Ideal HPF examples

77

Ideal HPF with r0= 26 Ideal HPF with r0= 36

Page 78: Frequency domain methods

Ideal HPF examples

Notice the severe ringing effect in the output images, which is a characteristic of ideal filters. It is due to the discontinuity in the filter transfer function.

78

Page 79: Frequency domain methods

Butterworth highpass filter

A two-dimensional Butterworth highpass filter has transfer function:

n: filter order, r0: cutoff frequency

79

Page 80: Frequency domain methods

Butterworth HPF with r0 = 47 and 2

80

Page 81: Frequency domain methods

Butterworth highpass filter

Frequency response does not have a sharp transition as in the ideal HPF.

This is more appropriate for image sharpening than the ideal HPF, since this not introduce ringing

81

Page 82: Frequency domain methods

Butterworth HPF examples

82

HPF with r0= 47 Original Image

Page 83: Frequency domain methods

Butterworth HPF examples

83

HPF with r0= 81 HPF with r0= 36

Page 84: Frequency domain methods

Gaussian High pass filters

The form of a Gaussian lowpass filter in two-dimensions is given by

where is the distance from the origin in the frequency plane.

The parameter s measures the spread or dispersion of the Gaussian

curve. Larger the value of s, larger the cutoff frequency and more severe the filtering.

84

22, vuvuD

22 2,1, vuDevuH

Page 85: Frequency domain methods

85

Page 86: Frequency domain methods

Spatial representations

86