in spatial domain – in frequency domain (chapter 4)image comm. lab ee/nthu 25 3.3 histogram...

79
Image Comm. Lab EE/NTHU 1 Chapter 3 Image Enhancement in the Spatial Domain Chapter 3 Image Enhancement in the Spatial Domain Image Enhancement: process an image to make it more suitable for certain specific application. – In spatial domain – In frequency domain (chapter 4)

Upload: others

Post on 25-Mar-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 1

Chapter 3Image Enhancement in the Spatial Domain

Chapter 3Image Enhancement in the Spatial Domain

• Image Enhancement: process an image to make it more suitable for certain specific application.– In spatial domain– In frequency domain (chapter 4)

Page 2: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 2

3.1 Background

• Spatial domain process on image can be described as

g(x, y) = T[f(x, y)]Where f(x,y) is the input image, g(x,y) is the

output image, T is an operatorT operates on the neighbors of (x, y) (a square or

rectangular sub-image centered at (x,y) to yield the output g(x, y).

Page 3: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 3

3.1 Background3.1 Background

Page 4: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 4

3.1 Background

• The simplest form of T is the neighborhood is of size 1×1. g depends on the value of f at (x, y) which is a gray level transformation as

s=T(r)Where r and s are the gray-level of f(x, y) and g(x, y) at

any point (x, y).Fig. 3.2(a) provides Contrast stretchingFig. 3.2(b) provides Thresholding.Enhancement of any point depend on that point only- Point processing

• Larger neighborhood provides more flexibility– Mask processing or filtering

Page 5: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 5

3.1 Background3.1 Background

Page 6: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 6

3.2 Basic gray level transformations

• Three basic functions used in image enhancement– Linear (negative and identity transformation)

s=L-1-r– Logarithmic (log and inverse log)

s=c log(1+r)– Power law (nth power and nth root transformation)

s=crγ or s=c(r+ε)γ

Page 7: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 7

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 8: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 8

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 9: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 9

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 10: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 10

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 11: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 11

3.2 Basic gray level transformations

• γ correction– The CRT devices have an intensity-to-voltage

response which is a power function.– γ ranges from 1.8 to 2.5– Without γ correction, the monitor output will

become darker than the original input– Prepare the input image before inputting it into the

CRT monitor by performing the transforming s = r 1/γ =r1/2.5= r0.4

s = r 1/γ r = s γ

γcorrection CRT: power function

intensityvoltage

Page 12: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 12

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 13: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 13

Page 14: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 14

Page 15: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 15

3.2 Basic gray level transformations

• Piecewise-Linear Transformation Functions– Contrast stretching– Gray-level slicing– Bit-plane slicing

Page 16: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 16

Page 17: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 17

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 18: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 18

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 19: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 19

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 20: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 20

3.2 Basic gray level transformations3.2 Basic gray level transformations

Page 21: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 21

3.3 Histogram Processing

• The histogram of a digital image with gray-levels in the range [0, L-1] is a discrete function h(rk)=nk where rk is the kth level and nk is the number of pixels having the gray-level rk.

• A normalized histogram h(rk)=nk/n , n is the total number of pixels in the image.

Page 22: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 22

3.3 Histogram Processing3.3 Histogram Processing

Page 23: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 23

3.3 Histogram Processing

• Histogram equalization is to find a transformation s=T(r) 0≤r≤1 that satisfying the following conditions:– T(r) is single-valued and monotonically increasing in the

interval 0≤r≤1 – 0≤T(r)≤1 for 0≤r≤1 – The T(r) is single-valued so that its inverse function exists.– The inverse transform from s to r is denoted as

r=T-1(s)=Q(s), 0≤s≤1The inverse function may not be single valued, s=Q-1(r)

may not exist

Page 24: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 24

3.3 Histogram Processing3.3 Histogram Processing

Page 25: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 25

3.3 Histogram Processing

• The gray-level is an image may be viewed as a random variable, so we let pr(r) and ps(s) denote the probability density function of random variables rand s.

• If pr(r) and T(r) are known and T-1(s) is single-valued and monotonically increased function then

ps(s)= pr(r)|dr/ds|• If we assume the inverse transformation function as

s=T(r)=where w is a dummy variable, s=T(r) is a cumulative distribution function (CDF) of the random variable r.

∫r

r dwwp0

)(

Page 26: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 26

3.3 Histogram Processing

• Given transformation T(r), we may find the ps(s) as

ds/dr = dT(r)/dr=d[ ]/dr = pr(r) and then ps(s)= pr(r)|dr/ds|=1 for 0≤s≤1

• ps(s) is a uniform prob. distribution• T(r) depends on pr(r)

∫r

r dwwp0

)(

Page 27: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 27

3.3 Histogram Processing

• For discrete casepr(rk)=nk/n for k=0,1….L-1

• The discrete version of the transformation function is sk = T(rk) =

• The above mapping is called histogram equalization• The inverse transform

rk=T-1(sk) for k=0,1,…L-1

It exists if none of the levels, rk, k=0,1,…L-1 are missing from the input images

∑ ∑= =

=k

j

k

j

jj n

nrp

0 0)(

Page 28: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 28

3.3 Histogram Processing-histogram equalization3.3 Histogram Processing-histogram equalization

Page 29: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 29

3.3 Histogram Processing-histogram equalization3.3 Histogram Processing-histogram equalization

Page 30: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 30

3.3 Histogram Processing-histogram matching

• Given the input image with pr(r), and the specific output image with pz(z), find the transfer function between the r and z.

• Let s=T(r)= where w is a dummy variable

• Define a random variable z with the propertyG(z)= =swhere t is a dummy variable

• From the above equations G(z)=T(r) we havez=G-1(s)=G-1[T(r)]

∫r

r dwwp0

)(

∫z

z dttp0

)(

Page 31: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 31

3.3 Histogram Processing-histogram matching

• For discrete case:• From given histogram pr(rk), k=0, 1,….L-1

sk=T(rk)=• From given histogram pz(zi), i=0, 1,…L-1

vk=G(zk)= =sk

• Finally, we have G(zk)=T(rk) and zk=G-1(sk)=G-1[T(rk)]

Notes: r→s z→v s=v , hence r→s=v→z

∑ ∑= =

=k

j

k

j

jj n

nrp

0 0)(

∑=

k

iiz zp

0)(

T G G-1T

Page 32: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 32

3.3 Histogram Processing-histogram matching

1. Obtain the histogram of each given image2. Pre-compute a mapped sk for each rk, i.e., sk=T(rk)3. Obtain the transformation function G from given p(z) using

vk = G(zk) = = sk

4. Precompute zk for each value sk using iterative scheme as follows:To find zk = G-1(sk) = G-1(vk), however, it may not exist such zk.Since we are dealing with integer, we find the closest zk. we

can get to satisfy G(zk)–sk=05. For each pixel in the original image, if the value of that pixel

is rk, map this value to its corresponding levels sk; then map level sk into the final level zk.

∑=

k

iiz zp

0)(

Page 33: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 33

3.3 Histogram Processing-histogram matching3.3 Histogram Processing-histogram matching

Page 34: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 34

3.3 Histogram Processing-histogram matching3.3 Histogram Processing-histogram matching

h(rk)

Page 35: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 35

3.3 Histogram Processing-histogram matching3.3 Histogram Processing-histogram matching

h(sk)

Page 36: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 36

3.3 Histogram Processing-histogram matching3.3 Histogram Processing-histogram matching

1. r→s v→z s=v2. Curve 1: vk = G(zk) = sk

3. Curve 2: z’k = G-1(sk)

h(zk)

h(z’k)

zk

vk

G-1T

Page 37: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 37

3.3.3 Local Enhancement

• Transformation function based on gray-level distribution in the neighborhood of every pixel in the image.

• At each location, the histogram of points in the neighborhood (or inside a region) is computed and histogram equalization is applied.

• Enhancement applied for overlapped regions is better than non-overlapped regions.

Over-lapped

Non-Overlapped

Page 38: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 38

3.3.3 Histogram Processing-local enhancement3.3.3 Histogram Processing-local enhancement

Devise transformation functions based on the gray-level histogram distribution in the neighborhood of every pixel in the image.

Page 39: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 39

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

• Let p(ri) be an estimate of the probability of occurrence of gray-level ri.

• The nth moment of r about it mean is µn(r)=

• where m is the mean value of rm=

• The second moment is given byµ2(r)=

∑−

=

−1

0)()(

L

ii

ni rpmr

∑−

=

1

0)(

L

iii rpr

∑−

=

−1

0

2 )()(L

iii rpmr

Page 40: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 40

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

• Let Sxy denote a neighborhood of specified size centered at (x, y), the mean value mSxy of the pixel in Sxy is

mSxy =

where rs,t is the gray level at (s, t)

The gray level variance is

σSxy=

∑∈ xySts

tsts rpr,

,, )(

∑∈

−xy

xySts

ysSts rpmr,

,2

, )()(

Page 41: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 41

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

• Example SEM image (Fig. 3.24): To enhance the dark areas while leaving the light area as unchanged.

• Consider the pixel at (x, y) as a candidate for enhancement by measuring whether an area is relatively light or dark by comparing the local average gray level mSxyto the global mean MG.

mSxy < K0 MG where 0< K0 <1and the local standard deviation σSxy to the global standard deviation σ G.

σ Sxy < K2 σ G where K2 >0.Set K2 >1 for light area and K2 <1 for dark area.

Page 42: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 42

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

• Finally, we set the lower limit on the local standard deviation σ Sxy as K1σ G < σSxy with K1< K2

Summary• The original image f(x, y) and enhanced image g(x, y).

g(x, y)= E·f(x, y) if mSxy < K0 MG ANDK1σG < σSxy < K2 σG with K1 < K2

g(x, y)= f(x, y) otherwise

Page 43: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 43

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

Page 44: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 44

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

σSxymSxy Ef(x,y)

Page 45: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 45

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

3.3.4 Histogram Processing-Image EnhancementUsing Histogram Statistics

Page 46: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 46

3.4 Enhancement using Arithmetic/Logic Operation

• Operations on Pixel-by-pixel basis• AND and OR operations are used for masking

– Selecting subimages in an image• Subtraction and Addition are used for image

enhancement

Page 47: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 47

3.4 Enhancement using Arithmetic/Logic Operation3.4 Enhancement using Arithmetic/Logic Operation

Page 48: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 48

3.4.1 Enhancement using Arithmetic Operation –Image subtraction

• g(x, y) = f(x, y)–h(x, y)• Higher-order bit plane – visual relevant

detail• Lower-order bit plane – fine detail or

imperceptible detail

Page 49: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 49

3.4.1 Enhancement using Arithmetic Operation – Image subtraction

3.4.1 Enhancement using Arithmetic Operation – Image subtraction

Page 50: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 50

3.4.1 Enhancement using Arithmetic Operation – Image subtraction

• Example: Mask mode radiographh(x, y) is a mask, or an X- ray image before injectionf(x, y) image after injection a contrast medium into bloodstream.f(x,y)–h(x,y) enhanced detail

• Image scaling to interval of [0, 255]

Page 51: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 51

3.4.1 Enhancement using Arithmetic Operation – image subtraction

3.4.1 Enhancement using Arithmetic Operation – image subtraction

h(x, y) f(x, y)–h(x, y)

Page 52: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 52

3.4.2 Enhancement using Arithmetic Operation – image averaging

• Noisy image g(x,y) is g(x, y)=f(x, y)+η(x, y)

• As K increases, noise decreases

∑=

=K

ii yxg

kyxg

1),(1),(

),()},({ yxfyxgE =

),(22 1

),(yx

Kyxgησσ =

2),( yxg

σ

Page 53: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 53

3.4.2 Enhancement using Arithmetic Operation – image averaging

3.4.2 Enhancement using Arithmetic Operation – image averaging

Page 54: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 54

3.4.2 Enhancement using Arithmetic Operation – image averaging

3.4.2 Enhancement using Arithmetic Operation – image averaging

Page 55: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 55

3.5 Spatial Filtering

• Spatial filtering: using a filter or kernel (i.e., a subimage w(x, y)) to operate on the image f(x,y).

• Filtering can also be applied in frequency domain(Chapter 4)

• The response R of the pixel at (x, y) after filtering is (Fig. 3.32 and 3.33)R=w(-1, -1)f(x-1, y-1) + w(-1, 0)f(x-1, y) +…. +w(0,

0)f(x, y)+….+w(1, 0)f(x+1, y)+w(1, 1) f(x+1, y+1)• The mask is centered at location (x, y)• Mask size is odd size (3x3, 5x5, 7x7,…)

Page 56: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 56

3.5 Spatial Filtering3.5 Spatial Filtering

Page 57: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 57

3.5 Spatial Filtering3.5 Spatial Filtering

∑=

=+=9

19911 .......

iii zwzwzwR

Page 58: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 58

3.6 Smoothing Spatial Filters3.6 Smoothing Spatial Filters

Weighted Averaging

∑∑

∑∑

−= −=

−= −=

++= a

as

b

bs

a

as

b

bs

tsw

tysxftswyxg

),(

),(),(),(

Page 59: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 59

3.5 Spatial Filtering

• In general, linear filtering of an image f of size MxN with a filter mask of size mxn is given by

where the output image is g(x,y), a=(m-1)/2 and b=(n-1)/2, x=0,….M-1 and y=0,…N-1

• Linear filtering ↔ convolution• Filter mask ↔ convolution mask• When filter approach the border of the image

1. Limit the excursions of the center of the mask to be at a distance no less than (n-1)/2 pixels from the border.2. “Padding” the image by adding rows and columns of 0’s (or other value)3. “Padding” by replicating rows and columns.

∑∑−= −=

++=a

as

b

bttysxftswyxg ),(),(),(

Page 60: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 60

3.6 Smoothing Spatial Filters3.6 Smoothing Spatial Filters

Filter mask sizes: 3x3, 5x5, 9x9, 15x15, 35x35.

Page 61: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 61

3.6 Smoothing Spatial Filters3.6 Smoothing Spatial Filters

Page 62: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 62

3.6.2 Smoothing Spatial Non-linear Filters

• Median Filter– The response is based on ordering (ranking) the pixels

contained in the image area encompassed by the filter, and then replacing the value of the center pixel with the value determined by the ranking result.

• For certain noise, such as impulse noise or salt-and-pepper noise, median filter is effective.

• The median, ξ, of a set of values is such that half of the values in the set are less than or equal toξ, and half are greater than or equal toξ.

Page 63: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 63

3.6.2 Smoothing Spatial Non-linear Filters

• Median filtering: 1. Sort the values of the target pixel and its

neighboring pixels to find the median.2. Replace the target pixel with the medianFor example, the median is the 5th largest value

of the 3x3 neighborhood and 15th largest value in the 5x5 neighborhood.

Page 64: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 64

3.6.2 Smoothing Spatial Non-linear Filters3.6.2 Smoothing Spatial Non-linear Filters

Page 65: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 65

3.7 Sharpening Spatial Filters3.7 Sharpening Spatial Filters

• Image averaging = low-pass filtering = image blurring =spatial integration

• Image sharpening = high-pass filtering = spatial differentiation.

• It enhances the edges and the other discontinuitiesFirst order difference is

∂f/∂x=f(x+1, y)-f(x, y)∂f/∂y=f(x, y+1)-f(x, y)

Second order difference∂2f/∂x2=f(x+1, y)+f(x-1, y)-2f(x)

Page 66: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 66

3 .7 Sharpening Spatial Filters3 .7 Sharpening Spatial Filters

Page 67: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 67

3.7.2 Second order derivative for enhancement

• Isotropic filter, rotational invariant — Laplacian∇2f=∂2f/∂x2+ ∂2f/∂y2

∇2f=[f(x+1,y)+f(x-1,y)+f(x, y+1)+f(x, y-1)]-4f(x,y)Use the Laplacian for image enhancement

g(x,y)=f(x,y)−∇2f(x,y) if the center coefficient of the Laplacian mask is negative.g(x,y)=f(x,y)+∇2f(x,y) if the center coefficient of the Laplacian mask is positive

Page 68: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 68

3.7.2 Second order derivative for enhancement3.7.2 Second order derivative for enhancement

Page 69: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 69

3.7.2 Second order derivative for enhancement3.7.2 Second order derivative for enhancement

Page 70: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 70

3.7.2 Second order derivative for enhancement

• Simplification:g(x, y)=f(x, y)-[f(x+1,y)+f(x-1, y)+f(x, y+1)+f(x, y-1)]+4f(x, y)=5f(x,y)- [f(x+1,y)+f(x-1,y)+f(x, y+1)+f(x, y-1)]

Page 71: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 71

3.7.2 Second order derivative for enhancement3.7.2 Second order derivative for enhancement

Page 72: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 72

3.7.2 Second order derivative for enhancement

• Image enhancementg(x,y)=f(x,y)−∇2f(x,y) if the center of laplacian mask<0g(x,y)=f(x,y)+∇2f(x,y) if the center of laplacian mask>0

• Unsharp maskingfs(x,y)=f(x,y)-f*(x,y) where f*(x,y) is the blurred image

• High boost filteringfhb(x,y)=Af(x,y)-f*(x,y)=(A-1)f(x,y)+f(x,y)-f*(x,y)

=(A-1)f(x,y)+fs(x,y)• Using Laplacian

fhb(x,y)=Af(x,y)−∇2f(x,y) if the center coefficient of the Laplacian mask is negative.fhb(x,y)=Af(x,y)+∇2f(x,y) if the center coefficient of the Laplacian mask is positive

Page 73: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 73

3.7.2 Second order derivative for enhancement3.7.2 Second order derivative for enhancement

Page 74: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 74

3.7.2 Second order derivative for enhancement3.7.2 Second order derivative for enhancement

Page 75: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 75

3.7.3 First derivative for enhancement

• ∇f(x,y)=[Gx, Gy]=[∂f/∂x, ∂f/∂y ]• ∇f(x,y)=mag (∇f)=[Gx

2, Gy2]1/2

=[(∂f/∂x)2, (∂f/∂y)2 ]1/2

• Robert operatorGx=∂f/∂x=z9-z5 Gy=∂f/∂y =z8-z6∇f(x,y)= [(z9 - z5)2+(z8 - z6 )2 ]1/2

=|z9 - z5|+|z8 - z6|Sobel operator∇f(x,y)=|z7+2z8+z9)-(z1+2z2+z3)|

+|(z3+2z6+z9)-(z1+2z4+z7)|

Page 76: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 76

3.7.3 First derivative for enhancement3.7.3 First derivative for enhancement

Page 77: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 77

3.7.3 First derivative for enhancement3.7.3 First derivative for enhancement

Page 78: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 78

3.8 Combining Spatial Enhancement Methods3.8 Combining Spatial Enhancement Methods

Page 79: In spatial domain – In frequency domain (chapter 4)Image Comm. Lab EE/NTHU 25 3.3 Histogram Processing • The gray-level is an image may be viewed as a random variable, so we let

Image Comm. Lab EE/NTHU 79

3.8 Combining Spatial Enhancement Methods3.8 Combining Spatial Enhancement Methods