Image Enhancement Spatial Domain PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 97

Image Enhancement in the

Spatial Domain
Principle Objective of Enhancement

◼ Process an image so that the result will be more


suitable than the original image for a specific
application.
◼ The suitableness is up to each application.
◼ A method which is quite useful for enhancing an
image may not necessarily be the best approach for
enhancing another images
◼ ex: Enhancing X-ray images may be different from
enhancingpictures from Mars
2
2 domains
◼ Spatial Domain : (image plane)
◼ Techniques are based on direct manipulation of pixels in an
image
◼ Frequency Domain :
◼ Techniques are based on modifying the Fourier transform of
an image
◼ There are some enhancement techniques based on
various combinations of methods from these two
categories.

3
Good images
◼ For human visual
◼ The visual evaluation of image quality is a highly subjective
process.
◼ It is hard to standardize the definition of a good image.
◼ For machine perception
◼ The evaluation task is easier.
◼ A good image is one which gives the best machine recognition
results.
◼ A certain amount of trial and error usually is required
before a particular image enhancement approach is
selected.
4
Spatial Domain
◼ Procedures that operate
directly on pixels.
g(x,y) = T[f(x,y)]
where
◼ f(x,y) is the input image

◼ g(x,y) is the processed image

◼ T is an operator on f defined
over some neighborhood of
(x,y)

5
Mask/Filter

◼ Neighborhood of a point
(x,y) can be defined by using a
(x,y) square/rectangular (common
used) or circular subimage
• area centered at (x,y)
◼ The center of the subimage is
moved from pixel to pixel
starting at the top of the
corner

6
Point Processing
◼ Neighborhood = 1x1 pixel
◼ g depends on only the value of f at (x,y)
◼ T = gray level (or intensity or mapping) transformation
function
s = T(r)
◼ Where
◼ r = gray level of f(x,y)
◼ s = gray level of g(x,y)

7
Neighbourhood Processing
Mask Processing or Filter
◼ Neighborhood is bigger than 1x1 pixel
◼ Use a function of the values of f in a predefined
neighborhood of (x,y) to determine the value of g at
(x,y)
◼ The value of the mask coefficients determine the
nature of the process
◼ Used in techniques
◼ Image Sharpening
◼ Image Smoothing

8
Transformation
Identity: s=r, no transformation

L=5

Each pixel S=r

9
Point Processing Techniques :

1. Digital Negative.
2. Contrast Stretching
3. Thresholding
4. Gray level Slicing
5. Bit Plane Slicing
6. Dynamic range compression

10
3 basic gray-level transformation
functions
Negative
◼ Linear function
nth root ◼ Negative and identity
Log
transformations
nth power
◼ Logarithm function
◼ Log and inverse-log
transformation
Identity Inverse Log
◼ Power-law function
◼ nth power and nth root
Input gray level, r transformations

11
Image Negatives
◼ An image with gray level in the range [0, L-1]
where L = 2n ; n = 1, 2…

◼ Negative transformation :
s = L – 1 –r

◼ Reversing the intensity levels of an image.

◼ Suitable for enhancing white or gray detail embedded in dark


regions of an image, especially when the black area dominant in
size.

12
Image Negatives
▪ Image in the range [0, L-1].

▪ It is useful in displaying medical images

L =5

S= 4- r

13
Example of Negative Image

14
Contrast Stretching
◼ Produce higher contrast
than the original by
◼ darkening the levels below
m in the original image
◼ Brightening the levels
above m in the original
image

15
Contrast Stretching
◼ increase the dynamic range of
the gray levels in the image
◼ (b) a low-contrast image : result
from poor illumination, lack of
dynamic range in the imaging
sensor, or even wrong setting of
a lens aperture of image
acquisition
◼ (c) result of contrast stretching:
(r1,s1) = (r min,0) and (r2,s2) =
(r max,L-1)
◼ (d) result of thresholding
16
Thresholding
◼ Produce a two-level
(binary) image

17
18
Log Transformations
s = c log (1+r)
Negative
nth root ◼ c is a constant
and r  0
Log
nth power
◼ Log curve maps a narrow
range of low gray-level values
in the input image into a
Identity Inverse Log wider range of output levels.
◼ Used to expand the values of
dark pixels in an image while
Input gray level, r
compressing the higher-level
values.

19
Log Transformations
◼ It compresses the dynamic range of images with large
variations in pixel values
◼ Example of image with dynamic range: Fourier
spectrum image
◼ It can have intensity range from 0 to 106 or higher.
◼ We can’t see the significant degree of detail as it will be
lost in the display.

20
Example of Logarithm Image

Fourier Spectrum with Result after apply the log


range = 0 to 1.5 x 106 transformation with c = 1,
range = 0 to 6.2 21
Inverse Logarithm
Transformations

◼ Do opposite to the Log Transformations


◼ Used to expand the values of high pixels in an
image while compressing the darker-level values.

22
Power-Law Transformations
s = cr
◼ c and  are positive constants
◼ Power-law curves with
fractional values of  map a
Output gray level, s

narrow range of dark input


values into a wider range of
output values, with the
opposite being true for
higher values of input levels.
◼ c =  = 1  Identity
function
Input gray level, r

23
Gamma correction

◼ Cathode ray tube (CRT)


Monitor
devices have an intensity-to-
voltage response that is a
power function, with 
varying from 1.8 to 2.5
Gamma
 = 2.5
correction ◼ The picture will become
darker.
◼ Gamma correction is done
Monitor
by preprocessing the image
before inputting it to the
monitor with s = cr1/
 =1/2.5 = 0.4
24
Another example : MRI a b
c d

(a) a magnetic resonance image of an


upper thoracic human spine with a
fracture dislocation and spinal cord
impingement
◼ The picture is predominately dark
◼ An expansion of gray levels are desirable
 needs  < 1
(b) result after power-law
transformation with  = 0.6, c=1
(c) transformation with  = 0.4
(best result)
(d) transformation with  = 0.3
(under acceptable level) 25
Effect of decreasing gamma
◼ When the  is reduced too much, the image
begins to reduce contrast to the point where the
image started to have very slight “wash-out”
look, especially in the background.

26
Another example a b
c d
(a) image has a washed-out
appearance, it needs a
compression of gray levels 
needs  > 1
(b) result after power-law
transformation with  = 3.0
(suitable)
(c) transformation with  = 4.0
(suitable)
(d) transformation with  = 5.0
(high contrast, the image has
areas that are too dark, some
detail is lost)
27
Gray-level slicing
◼ Highlighting a specific
range of gray levels in an
image
◼ Display a high value of all
gray levels in the range of
interest and a low value for
all other gray levels
◼ (a) transformation highlights
range [A,B] of gray level and
reduces all others to a constant
level
◼ (b) transformation highlights
range [A,B] but preserves all
other levels

28
29
Applications

▪ segmentation of certain gray level regions.

▪ Enhancing features such as masses of water in


satellite imagery.

▪ Enhancing flaws in X-ray images

30
Bit-plane slicing
◼ Highlighting the contribution
made to total image
appearance by specific bits
◼ Suppose each pixel is
One 8-bit byte Bit-plane 7
(most significant) represented by 8 bits
◼ Higher-order bits contain the
majority of the visually
significant data
◼ Useful for analyzing the
Bit-plane 0 relative importance played by
(least significant)
each bit of the image

31
Example
◼ The (binary) image for bit-
plane 7 can be obtained by
processing the input image
with a thresholding gray-level
transformation.
◼ Map all levels between 0 and
127 to 0
◼ Map all levels between 129 and
An 8-bit fractal image 255 to 255

32
8 bit planes

Bit-plane 7 Bit-plane 6

Bit- Bit- Bit-


plane 5 plane 4 plane 3

Bit- Bit- Bit-


plane 2 plane 1 plane 0

33
Histogram Processing
◼ Histogram of a digital image with gray levels in
the range [0,L-1] is a discrete function
h(rk) = nk
◼ Where
◼ rk : the kth gray level
◼ nk : the number of pixels in the image having gray
level rk
◼ h(rk) : histogram of a digital image with gray levels
rk
34
Normalized Histogram
◼ dividing each of histogram at gray level rk by the
total number of pixels in the image, n
p(rk) = nk / n
◼ For k = 0,1,…,L-1
◼ p(rk) gives an estimate of the probability of
occurrence of gray level rk
◼ The sum of all components of a normalized
histogram is equal to 1

35
Example
No. of pixels
6
2 3 3 2 5

4 2 4 3 4

3
3 2 3 5
2
2 4 2 4
1
Gray level
4x4 image
0 1 2 3 4 5 6 7 8 9
Gray scale = [0,9]
histogram
36
300

250

200

150

100

50

0
0 50 100 150 200 250 300

37
300

250

200

150

100

50

0
0 10 20 30 40 50 60 70

38
Histogram Processing
◼ Basic for numerous spatial domain processing
techniques
◼ Used effectively for image enhancement
◼ Information inherent in histograms also is useful
in image compression and segmentation

39
h(rk) or p(rk)
Example
rk

Dark image
Components of
histogram are
concentrated on the
low side of the gray
scale.
Bright image
Components of
histogram are
concentrated on the
high side of the gray
scale.
40
Example

Low-contrast image
histogram is narrow
and centered toward
the middle of the
gray scale
High-contrast image
histogram covers broad
range of the gray scale
and the distribution of
pixels is not too far from
uniform, with very few
vertical lines being much
higher than the others
41
Histogram Equalization
◼ As the low-contrast image’s histogram is narrow and
centered toward the middle of the gray scale, if we
distribute the histogram to a wider range the quality of
the image will be improved.
◼ We can do it by adjusting the probability density
function of the original histogram of the image so that
the probability spread equally.

42
Histogram transformation
s = T(r)
s
◼ Where 0  r  1
1
◼ T(r) satisfies
◼ (a). T(r) is single-
valued and
sk= T(rk)
monotonically
T(r) increasingly in the
interval 0  r  1
◼ (b). 0  T(r)  1 for
0r1

0 rk 1 r
43
2 Conditions of T(r)

◼ Single-valued (one-to-one relationship) guarantees that the


inverse transformation will exist.
◼ Monotonicity condition preserves the increasing order
from black to white in the output image thus it won’t cause
a negative image.
◼ 0  T(r)  1 for 0  r  1 guarantees that the output gray
levels will be in the same range as the input levels.
◼ The inverse transformation from s back to r is
r = T -1(s) ;0s1
44
Probability Density Function
◼ The gray levels in an image may be viewed as
random variables in the interval [0,1]
◼ PDF is one of the fundamental descriptors of a
random variable.

45
Applied to Image

◼ Let
◼ pr(r) denote the PDF of random variable r
◼ ps (s) denote the PDF of random variable s

◼ If pr(r) and T(r) are known and T-1(s) satisfies


condition (a) then ps(s) can be obtained using a
formula :
dr
ps(s) = pr(r)
ds 46
Applied to Image

The PDF of the transformed variable s


is determined by
the gray-level PDF of the input image
and by
the chosen transformation function

47
Transformation function

◼ A transformation function is a cumulative


distribution function (CDF) of random variable
r:
r
s = T (r ) =  pr ( w)dw
0
where w is a dummy variable of integration

Note: T(r) depends on pr(r)


48
Cumulative
Distribution function
◼ CDF is an integral of a probability function
(always positive) is the area under the function
◼ Thus, CDF is always single valued and
monotonically increasing
◼ Thus, CDF satisfies the condition (a)
◼ We can use CDF as a transformation function

49
Finding ps(s) from given T(r)

ds dT ( r )
=
dr dr
  dr
p s ( s ) = pr ( r )
r
d
=   pr ( w )dw  ds
dr  0 
1
= pr ( r ) = pr ( r )
pr ( r )

Substitute and yield


= 1 where 0  s  1
50
ps(s)
◼ As ps(s) is a probability function, it must be zero
outside the interval [0,1] in this case because its
integral over all values of s must equal 1.
◼ Called ps(s) as a uniform probability density
function
◼ ps(s) is always a uniform, independent of the
form of pr(r)

51
r
s = T ( r ) =  pr ( w )dw
0

yields

Ps(s)

a random variable s 1
characterized by
a uniform probability
function s
0
52
Discrete
transformation function
◼ The probability of occurrence of gray level in an image is approximated by

nk
pr ( rk ) = where k = 0 , 1, ..., L-1
n

◼ The discrete version of transformation


k
sk = T ( rk ) =  pr ( r j )
j =0
k nj
= where k = 0 , 1, ..., L-1
j =0 n 53
Histogram Equalization
◼ Thus, an output image is obtained by mapping each
pixel with level rk in the input image into a
corresponding pixel with level sk in the output image
◼ In discrete space, it cannot be proved in general that
this discrete transformation will produce the discrete
equivalent of a uniform probability density function,
which would be a uniform histogram

54
Example
Histogram
before after equalization

55
Example
Histogram
before after equalization

The quality is
not improved
much because
the original
image already
has a broaden
gray-level scale
56
Example
No. of pixels
6
2 3 3 2 5

4 2 4 3 4

3
3 2 3 5
2
2 4 2 4
1
Gray level
4x4 image
0 1 2 3 4 5 6 7 8 9
Gray scale = [0,9]
histogram
57
Gray
0 1 2 3 4 5 6 7 8 9
Level(j)
No. of
0 0 6 5 4 1 0 0 0 0
pixels
k

n
j =0
j 0 0 6 11 15 16 16 16 16 16

k nj 6 11 15 16 16 16 16 16
s= 0 0 / / / / / / / /
j =0 n
16 16 16 16 16 16 16 16
3.3 6.1 8.4
sx9 0 0 9 9 9 9 9
3 6 8
Example
No. of pixels
6
3 6 6 3 5

8 3 8 6 4

3
6 3 6 9
2
3 8 3 8
1

Output image
0 1 2 3 4 5 6 7 8 9
Gray scale = [0,9] Gray level
Histogram equalization
59
Note

◼ It is clearly seen that


◼ Histogram equalization distributes the gray level to reach the
maximum gray level (white) because the cumulative distribution
function equals 1 when
0  r  L-1
◼ If the cumulative numbers of gray levels are slightly different,
they will be mapped to little different or same gray levels as we
may have to approximate the processed gray level of the
output image to integer number
◼ Thus the discrete transformation function can’t guarantee the
one to one mapping relationship

60
Example
Histogram
before after equalization

61
Example
Histogram
before after equalization

The quality is
not improved
much because
the original
image already
has a broaden
gray-level scale
62
Neighborhood Processing
Smoothing Spatial Filters

• Smoothing linear Filters


(Low pass / Averaging Filter)
• Order –Statistics Filters
(Nonlinear Filter / Median Filter)
Sharpening Spatial Filters

• High Pass Filter

High Boost Filter


63
Spatial Filtering

◼ use filter (can also be called as


mask/kernel/template or window)
◼ the values in a filter subimage are referred to as
coefficients, rather than pixel.
◼ our focus will be on masks of odd sizes, e.g. 3x3,
5x5,…

64
Spatial Filtering Process
◼ simply move the filter mask from point to point
in an image.
◼ at each point (x,y), the response of the filter at
that point is calculated using a predefined
relationship.

R = w1 z1 + w2 z 2 + ... + wmn z mn
mn
=  wi zi
i =i
65
Linear Filtering
◼ Linear Filtering of an image f of size MxN filter
mask of size mxn is given by the expression

a b
g ( x, y ) =   w(s, t ) f ( x + s, y + t )
t =− a t =−b

where a = (m-1)/2 and b = (n-1)/2

To generate a complete filtered image this equation must


be applied for x = 0, 1, 2, … , M-1 and y = 0, 1, 2, … , N-1
66
Smoothing Spatial Filters

◼ used for blurring and for noise reduction


◼ blurring is used in preprocessing steps, such as
◼ removal of small details from an image prior to object
extraction
◼ bridging of small gaps in lines or curves

◼ noise reduction can be accomplished by blurring


with a linear filter and also by a nonlinear filter

67
Smoothing Linear Filters

◼ output is simply the average of the pixels contained


in the neighborhood of the filter mask.
◼ called averaging filters or lowpass filters.

68
Smoothing Linear Filters
◼ replacing the value of every pixel in an image by the
average of the gray levels in the neighborhood will
reduce the “sharp” transitions in gray levels.
◼ sharp transitions
◼ random noise in the image
◼ edges of objects in the image
◼ thus, smoothing can reduce noises (desirable) and blur
edges (undesirable)

69
3x3 Smoothing Linear Filters

box filter weighted average


the center is the most important and other
pixels are inversely weighted as a function of
their distance from the center of the mask70
Weighted average filter
◼ the basic strategy behind weighting the center
point the highest and then reducing the value of
the coefficients as a function of increasing
distance from the origin is simply an attempt
to reduce blurring in the smoothing
process.

71
a b
Example c d
e f

◼ a). original image 500x500 pixel


◼ b). - f). results of smoothing
with square averaging filter
masks of size n = 3, 5, 9, 15 and
35, respectively.
◼ Note:
◼ big mask is used to eliminate small
objects from an image.
◼ the size of the mask establishes
the relative size of the objects that
will be blended with the
background. 72
Example

original image result after smoothing result of thresholding


with 15x15 averaging mask

we can see that the result after smoothing and thresholding,


the remains are the largest and brightest objects in the image.
73
Order-Statistics Filters (Nonlinear
Filters)
◼ the response is based on ordering (ranking) the
pixels contained in the image area encompassed
by the filter
◼ example
◼ median filter : R = median{zk |k = 1,2,…,n x n}
◼ max filter : R = max{zk |k = 1,2,…,n x n}
◼ min filter : R = min{zk |k = 1,2,…,n x n}

◼ note: n x n is the size of the mask

74
Median Filters
◼ replaces the value of a pixel by the median of
the gray levels in the neighborhood of that pixel
(the original value of the pixel is included in the
computation of the median)
◼ quite popular because for certain types of
random noise (impulse noise  salt and pepper
noise) , they provide excellent noise-reduction
capabilities, with considering less blurring than
linear smoothing filters of similar size.

75
order (0, 2, 3, 3, 4, 6, 10, 19, 97) Median : 4

original image with noise 3x3 median filtered

76
Example : Median Filters

77
Sharpening Spatial Filters
◼ to highlight fine detail in an image
◼ or to enhance detail that has been blurred, either
in error or as a natural effect of a particular
method of image acquisition.

78
Blurring vs. Sharpening

◼ as we know that blurring can be done in spatial


domain by pixel averaging in a neighbors
◼ since averaging is analogous to integration
◼ thus, we can guess that the sharpening must be
accomplished by spatial differentiation.

79
Derivative operator
◼ the strength of the
response of a derivative
operator is proportional to
the degree of discontinuity
of the image at the point
at which the operator is
applied.
◼ thus, image differentiation
◼ enhances edges and other
discontinuities (noise)
◼ deemphasizes area with
slowly varying gray-level
values.
80
original blurred image High pass filtered

81
Unsharp masking

f s ( x, y ) = f ( x, y ) − f ( x, y )
sharpened image = original image – blurred image

◼ to subtract a blurred version of an image


produces sharpening output image.

96
High-boost filtering

f hb ( x, y ) = Af ( x, y ) − f ( x, y )

f hb ( x, y ) = ( A − 1) f ( x, y ) − f ( x, y ) f ( x, y )
= ( A − 1) f ( x, y ) − f s ( x, y )
◼ generalized form of Unsharp masking
◼ A1
97
High-boost filtering

f hb ( x, y ) = ( A − 1) f ( x, y ) − f s ( x, y )
◼ if we use Laplacian filter to create sharpen image
fs(x,y) with addition of original image

 f ( x, y ) −  f ( x, y )
2
f s ( x, y ) = 
 f ( x, y ) +  f ( x, y )
2

98
High-boost filtering

if the center coefficient


◼ yields of the Laplacian mask is
negative

 Af ( x, y ) −  f ( x, y )
2
f hb ( x, y ) = 
 Af ( x, y ) +  f ( x, y )
2

if the center coefficient


of the Laplacian mask is
positive
99
High-boost Masks

◼ A1
◼ if A = 1, it becomes “standard” Laplacian
sharpening
100
Example

101
 f 
Gx   x 
Gradient Operator f =   =  f 
G y   
 y 
◼ first derivatives are implemented using the
magnitude of the gradient.

1
f = mag (f ) = [G + G ] 2
x
2
y
2

commonly approx.
1
 f  2  f  2  2

=   +   
 x   y  
f  G x + G y
the magnitude becomes nonlinear
102
Gradient Mask z1 z2 z3
z4 Z5 z6
◼ simplest approximation, 2x2 z7 Z8 z9

G x = ( z8 − z 5 ) and G y = ( z 6 − z5 )
1 1
f = [G + G ]
2
x
2
y
2
= [( z8 − z5 ) + ( z6 − z5 ) ]
2 2 2

 f  z8 − z 5 + z 6 − z 5

103
z1 z2 z3
Gradient Mask z4 z5 z6
z7 z8 z9
◼ Roberts cross-gradient operators, 2x2

Gx = ( z9 − z5 ) and G y = ( z8 − z 6 )
1 1
f = [G + G ]
2
x
2
y
2
= [( z9 − z5 ) + ( z8 − z6 ) ]
2 2 2

f  z 9 − z 5 + z8 − z 6

104
z1 z2 z3
Gradient Mask z4 z5 z6
z7 z8 z9

◼ Sobel operators, 3x3


Gx = ( z7 + 2 z8 + z9 ) − ( z1 + 2 z2 + z3 )
G y = ( z3 + 2 z6 + z9 ) − ( z1 + 2 z4 + z7 )
f  G x + G y
the weight value 2 is to
achieve smoothing by
giving more important
to the center point 105
Note
◼ the summation of coefficients in all masks
equals 0, indicating that they would give a
response of 0 in an area of constant gray level.

106
Example

107
Example of Combining Spatial
Enhancement Methods
◼ want to sharpen the
original image and bring
out more skeletal detail.
◼ problems: narrow
dynamic range of gray
level and high noise
content makes the image
difficult to enhance

108
Example of Combining Spatial
Enhancement Methods
◼ solve :
1. Laplacian to highlight fine detail
2. gradient to enhance prominent edges
3. gray-level transformation to increase
the dynamic range of gray levels

109
110
111

You might also like