1 chapter 5: neighborhood processing 5.1 introduction move a mask a rectangle (usually with sides of...

36
1 Chapter 5: Neighborhood Processing 5.1 Introduction • Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

Upload: joan-paul

Post on 19-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

1

Chapter 5: Neighborhood Processing5.1 Introduction

• Move a mask

A rectangle (usually with sides of odd length) or other shape over the given image

Page 2: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

2

5.1 Introduction• Mask values

• Corresponding pixel values

Page 3: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

3

FIGURE 5.2

Page 4: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

4

5.1 Introduction

• Allied to spatial filtering is spatial convolution

The filter must be rotated by 180° before multiplying and adding

Page 5: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

5

5.1 Introduction

• EXAMPLE One important linear filter is to use a 3×3 mask and take the average of all nine values within the mask

Page 6: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

6

5.1 Introduction

The result of filtering x with 3×3 averaging filter

Ch5-p.90

Page 7: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

7

5.2 Notation• It is convenient to describe a linear filter simply

in terms of the coefficients of all the gray values of pixels within the mask

The averaging filter

Page 8: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

8

5.2 NotationEXAMPLE The filter

would operate on gray values as

Page 9: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

9

5.2.1 Edges of the Image• What happens at the edge of the image, where

the mask partly falls outside the image?

• There are a number of different approaches to dealing with this problem

Ignore the edges

Page 10: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

10

5.2.1 Edges of the ImagePad with zeros

000000000

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

000000

00

000

Mirroring2 2 3 4 5 4 3 2 1 2 3 4 4

2 2 3 4 5 4 3 2 1 2 3 4 434567

34567 6 5 4 3 2 1 2 3 4 5

7 7 6 5 4 3 2 1 2 3 4 5 5

34565

3456

Page 11: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

11

5.3 Filtering in MATLAB

• filter2 function

• shape is optional; it describes the method for dealing with the edges

‘same’-pad with zeros

‘valid’-ignore the edges

the result is a matrix of data type double!!

Page 12: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

12

5.3 Filtering in MATLAB

Page 13: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

13

5.3 Filtering in MATLAB

• The result of ’same’ may also be obtained by padding with zeros and using ’valid’:

Page 14: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

14

5.3 Filtering in MATLAB

• filter2(filter,image,’full’) returns a result larger than the original

• It does this by padding with zero and applying the filter at all places on and around the image where the mask intersects the image matrix

Page 15: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

15

5.3 Filtering in MATLAB

• filter2 provides no mirroring option• The mirroring approach can be realized by

placing the following codes before filter2 (filter,image,’valid’)

• Where matrix x is extended to m_x, wr/wc is defined as one half total column/row number of the mask (chopping the decimal)

Page 16: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

16

5.3 Filtering in MATLAB

• fspecial functionh = fspecial(type, parameters)>>fspecial(‘average’,[5,7]);>>fspecial(‘average’,11);

Page 17: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

17

5.3 Filtering in MATLAB

>>imshow(uint8(cf1))

>>imshow(cf1/255)or

Page 18: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

18

5.4 Frequencies: Low- and High-Pass Filters• Frequencies of an image are a measure of the

amount by which gray values change with distance

high-pass filter

low-pass filter

Page 19: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

19

5.4 Frequencies: Low- and High-Pass Filters

Page 20: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

20

FIGURE 5.5

Page 21: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

21

5.4 Frequencies: Low- and High-Pass Filters• VALUES OUTSIDE THE RANGE 0–255

Make negative values positiveClip values

Ch5-p.100

0-255 Scaling transformation (uint8)

Page 22: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

22

5.4 Frequencies: Low- and High-Pass Filters

0-1 Scaling transformation (double)

Page 23: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

23

FIGURE 5.6

Page 24: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

24

5.5 Gaussian Filters

Page 25: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

25

FIGURE 5.8

Page 26: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

26

5.5 Gaussian Filters

Page 27: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

27

5.6 Edge Sharpening

• 5.6.1 Unsharp Masking

Page 28: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

28

FIGURES 5.11 & 5.12

Page 29: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

29

5.6.1 Unsharp Masking• The unsharp option of fspecial produces

such filters

α = 0.5, default: α = 0.2

Page 30: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

30

5.6.2 High-Boost Filtering• Allied to unsharp masking filters are the high-

boost filters

where A is an amplification factor

If A = 1, then the high-boost filter becomes an ordinary high-pass filter

Page 31: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

31

5.6.2 High-Boost Filtering

Page 32: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

32

FIGURE 5.14>> x1=filter2(hb1, x);>> imshow(x1/255)

>> x2=filter2(hb2, x);>> imshow(x2/255)

Page 33: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

33

5.7 Nonlinear Filters• Maximum filter

• Minimum filter

Page 34: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

34

5.8 Region of Interest Processing

Page 35: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

35

5.8.1 Regions of Interest in MATLAB

• This will bring up the iguana image (if it isn’t shown already). Vertices of the ROI can be selected with the mouse

Page 36: 1 Chapter 5: Neighborhood Processing 5.1 Introduction Move a mask A rectangle (usually with sides of odd length) or other shape over the given image

36

5.8.2 Region of Interest Filtering