Вы находитесь на странице: 1из 67

Digital Image Processing

Image Enhancement in the


Spatial Domain
Objective
The principal objective of enhancement is to process an
images so that the result is more suitable than the original
image for a SPECIFIC application

Category of image enhancement


• Spatial domain
• Frequency domain
Background
The spatial domain process can be denoted as
g(x,y) = T [ f(x,y) ]
Point Processing,
Gray-Level Transformation Function

s = T (r)

Contrast Thresholding
stretching
Basic Gray Level Transformation
Image Negative

s=L-1-r
Log Transformations
s = c log(1+r)

Pixel values dynamic range=[0 - 1.5×106]


Power-Law Transformations

s = cr

s = r2.5
S=255(r/255)1/r
r = [1 10 20 30 40 210 220 230 240 250 255]
s( = 2.5) = [0 0 0 1 2 157 176 197 219 243 255]
s( =.4) = [28 70 92 108 122 236 240 245 249 253 255]
Power-Law Transformations - Gamma Correction
Power-Law Transformations
c=1
 = 0.6

c=1
 = 0.4 c=1
 = 0.3
Power-Law Transformations

c=1
=3

c=1 c=1
=4 =5
Piecewise-Linear Transformation
Functions

• Advantage
• Arbitrarily complex
• Disadvantage
• More user input
• Type of Transformations
• Contrast stretching
• Gray-level slicing
• Bit-plane slicing
Contrast Stretching
Objective: Increase the dynamic range of the gray levels in the
image

Causes for poor image


-Poor illumination
-Wrong lens aperture
-Wrong shutter speed
-Lack of dynamic range
in the imaging sensor
Contrast Stretching
Example 1
For image with intensity range [50 - 150]
What should (r1,s1) and (r2,s2) be to increase the dynamic
range of the image to [0 - 255]?

S=(r-a)*((d-c)/(b-a)) +c
piecewise Linear transformation functions.
Exercise on Contrast stretching and thresholding

Exercise:

the following matrix represents the pixels values of a 8-bit image (r) , apply
thresholding transform assuming that the threshold m=95, find the resulting image
pixel values.
Image (r)

solution: 110 120 90 130

Image (s) 91 94 98 200

90 91 99 100

82 96 85 90
Gray-Level Slicing
Objective: Highlighting a specific range of gray levels in an image.
Bit-Plane Slicing
255 138 30
65 12 201
180 111 85
LSB MSB
MSB plane 255 1 1 1 1 1 1 1 1
1 1 0 138 0 1 0 1 0 0 0 1
0 0 1 30 1 1 1 1 1 0 0 0
1 0 0 65 1 0 0 0 0 0 1 0
12 0 0 1 1 0 0 0 0
LSB plane 201 1 0 0 1 0 0 1 1
1 0 1 183 1 1 1 0 1 1 0 1
1 0 1 111 1 1 1 1 0 1 1 0
1 1 1 85 1 0 1 0 1 0 1 0
Bit-Plane Slicing
Bit-Plane Slicing
Histogram Processing

Histogram
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 gray level and nk is the number of
pixels in the image having gray level rk.

Normalized Histogram
Dividing each value of the histogram by the total number
of pixels in the image, denoted by n.
p(rk) = nk /n.
Normalized histogram provide useful image statistics.
Histogram Processing
Histogram Equalization
Histogram equalization is used to enhance image contrast and gray-level
detail by spreading the histogram of the original image.
s = T ( r ) 0 r  1,
where r and s are normalized pixel intensities

Conditions for the transformation


(a) T( r ) is single-valued and monotonically increasing in the
interval 0  r  1
(b) 0  T ( r )  1 for 0  r  1

1
Histogram Equalization
Objective of histogram equalization
Transform the histogram function of the original
image pr(r) to a uniform histogram function.
ps(s) = 1 0 s  1

Equalizer ps(s)
pr(r)
Transformation

Continuous case Discrete case


r k
s  T (r )   pr ( w)dw sk  T (rk )   pr (r j )
0 j 0
Histogram Equalization - Discrete Formulation
We first need to determine the probability distribution of grey levels in
the input image.

where nk is the number of pixels having grey level k, and N is the total number of pixels in
the image.

The transformation now becomes

Note that

,the index k=0,1,2,…255, and


The values of sk will have to be scaled up by 255 and rounded to the nearest integer so that
the output values of this transformation will range from 0 to 255. Thus the discretization and
rounding of sk to the nearest integer will mean that the transformed image will not have a
perfectly uniform histogram.
Histogram Equalization Example

3 bit
64 x 64 image

input histogram equalized histogram


Histogram Equalization Examples
original images and histograms equalized images and histograms
Normalized sk Histogram Equalization
rk pr(rk) sk
0.4
0 0 0 0
0.3
1 0 0 0
2 0 0 0 0.2
3 0 0 0 0.1
4 0.09 0.09 1
5 0.06 0.15 2 4 8 12 15
6 0.1 0.25 4 0.25 0.5 0.75 1
7 0.15 0.4 6
8 0.3 0.7 11 Input image size 100  100
9 0.18 0.88 13
10 0.05 0.93 14
11 0.07 1 15 >>plot(sk)
12 0 1 15
13 0 1 15
14 0 1 15
15 0 1 15
Local Histogram Enhancement

Global Histogram
0.98
0.002 Local Histogram

125 125 128 250 0.7


128 255 0.3

178
255
Local Histogram Enhancement
Histogram Statistics for Image Enhanc.
Contrast manipulation using local statistics, such as the mean and
variance, is useful for images where part of the image is acceptable,
but other parts may contain hidden features of interest.
Histogram Statistics for Image Enhanc.
Let (x,y) be the coordinates of a pixel in an image, and let Sxy
denote a neighborhood (sub-image) of specified size, centered at
(x,y).

mS xy   rs,t p(rs,t )
( s ,t )S xy

 S xy
2
  [rs,t  mS xy
]2
p ( rs ,t ).
( s ,t )S xy

The local mean and variance are the decision factors to whether apply
local enhancement or not.
Histogram Statistics for Image Enhanc.
MG: Global mean
DG: Global standard
deviation
E, k0, k1, k2: Specified
parameters

E. f ( x, y) if mS xy  k0 M G AND k1DG   S xy  k2 DG


g ( x, y)  
 f ( x, y) otherwise E = 4,
k0 = 0.4,
Size of local area = 3  3 k1= 0.02,
k2 = 0.4
Histogram Statistics for Image Enhanc.

(x,y) E

(x,y)

Image Mean
125 135 145 135 .. 174 164
168 175 158 149 .. 187
210 231 215 129 ..
187 192 145 200 ..
Histogram Statistics for Image Enhanc.

Enhanced Image Original Image


Enhancement Using Arithmetic/Logic Op.
Arithmetic/logic operations involving images are performed on a
pixel-by-pixel basis between two or more images.

Arithmetic Operations
Addition, Subtraction, Multiplication, and Division

Logic Operations
AND, OR, NOT
Enhancement Using AND and OR Logic Op.

AND

OR

Logic operations are performed on the binary representation of the


pixel intensities
Enhancement Using Arithmetic Op. _ SUB

Original
4
Upper-order
Bit

HE of
Error Error
Enhancement Using Arithmetic Op. _ SUB
Mask Mode Radiography

Problem:
The pixel intensities in the difference image can range from -255 to 255.
Solutions:
1) Add 255 to every pixel and then divide by 2.
2) Add the minimum value of the pixel intensity in the difference image
to every pixel and then divide by 255/Max. Max is the maximum
pixel value in the modified difference image.
Enhancement Using Arithmetic Op. Averaging
Original image Noise with zero mean

g ( x , y )  f ( x, y )   ( x, y )
1 k
g ( x , y )   g i ( x, y )
k i 1
E g ( x, y )  f ( x, y )
1 2
 g ( x, y )    ( x, y )
2

k
Enhancement Using Arithmetic Op. Averaging

Gaussian Noise
f(x,y) g(x,y) mean = 0
variance = 64

K=8 K = 16

x
-  +
K = 128
K = 32
Enhancement Using Arithmetic Op. Averaging

K=8

Difference images
between original K = 16
image and images
obtained from Notice the
averaging. mean and
K = 32 variance
of the
difference
images
K = 128 decrease as K
increases.
Basics of Spatial Filtering - Linear

Spatial filtering are filtering


operations performed on the
pixel intensities of an image
and not on the frequency
components of the image.

a b
g ( x, y)    w(s, t ) f ( x  s, y  t )
s  a t b
Basics of Spatial Filtering
Response, R, of an m  n mask at any point (x, y)

mn
R   wi zi
i 1

Special consideration is given when the center of the filter


approach the boarder of the image.
Nonlinear of Spatial Filtering

Nonlinear spatial filters operate on neighborhoods, and the mechanics


of sliding a mask past an image are the same as was just outlined. In
general however, the filtering operation is based conditionally on the
values of the pixel in the neighborhood under consideration, and they
do not explicitly use coefficients in the sum-of products manner
described previously.

Example
Computation for the median is a nonlinear operation.
Smoothing Spatial Filtering - Linear
Averaging (low-pass) Filters
Smoothing filters are used
- Noise reduction
- Smoothing of false contours
- Reduction of irrelevant detail

Undesirable side effect of smoothing filters


- Blur edges

Weighted average filter


reduces blurring in the
smoothing process.

Box Weighted
filter average
Smoothing Spatial Filtering _ Linear
Averaging (low-pass) Filters
n = filter size

n=3

n=5 n=9

n = 35

n = 15
Smoothing Spatial Filtering
Averaging & Threshold
filter size Thrsh = 25% of
n = 15 highest intensity
Smoothing Spatial Filtering
Order Statistic Filters
Order-statistics filters are nonlinear spatial filters whose
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.

3  3 Median filter [10 125 125 135 141 141 144 230 240] = 141
3  3 Max filter [10 125 125 135 141 141 144 230 240] = 240
3  3 Min filter [10 125 125 135 141 141 144 230 240] = 10

Median filter eliminates isolated clusters of pixels that are light or


dark with respect to their neighbors, and whose area is less than
n2/2.
Order Statistic Filters
n=3 n=3
Average Median
filter filter
Sharpening Spatial Filters
The principal objective of sharpening is to highlight fine detail
in an image or to enhance detail that has been blurred.

1 9

9 1
zi
Image Blurred Image
1 9

9 1
z

– Sharpening could be accomplished by spatial differentiation


– Image differentiation enhances edges and other discontinuities
(such as noise) and deemphasizes areas with slowly varying gray-
level values.
The derivatives of a digital function are defined in terms of differences.
Sharpening Spatial Filters
Requirements for digital derivative
First derivative
1) Must be zero in flat segment
2) Must be nonzero along ramps.
3) Must be nonzero at the onset of a gray-level step or ramp
Second derivative
1) Must be zero in flat segment
2) Must be zero along ramps.
3) Must be nonzero at the onset and end of a gray-level step or
ramp
f
 f ( x  1)  f ( x)
x
2 f
 f ( x  1)  f ( x  1)  2 f ( x)
x 2
Sharpening Spatial Filters
Sharpening Spatial Filters

Comparing the response between first- and second-ordered


derivatives:
1) First-order derivative produce thicker edge
2) Second-order derivative have a stronger response to fine detail, such as
thin lines and isolated points.
3) First-order derivatives generally have a stronger response to a gray-
level step.
4) Second-order derivatives produce a double response at step changes in
gray level.

In general the second derivative is better than the first


derivative for image enhancement. The principle use of first
derivative is for edge extraction.
Use of First Derivative for Edge Extraction
Gradient
First derivatives in image processing are implemented
using the magnitude of the gradient.
t
 f f 
f   z1 z2 z3
 x y 
z4 z5 z6
2 0.5
 f   f  
2
z7 z8 z9
f  mag (f )         Gx  G y
 x   y  
Roberts operator
Gx = (z9-z5) and Gy = (z8 - z6)
Sobel operator
Gx = (z3+2z6 +z9) - (z1+2z4+z7) and
Gy = (z7+2z8+z9) - (z1+2z2+z3)
Use of First Derivative for Edge Extraction
Gradient

Robert operator

Sobel operators
Use of First Derivative for Edge Extraction
Gradient
-1 0 1 -1 -2 -1
-2 0 2 0 0 0
f(x,y) = [40, 140]
-1 0 1 1 2 1

…. 0 0 0 0 0 0
…. 0 200 400 400 400 400 ……
…. 0 400 600 400 400 400 …...
…. 0 400 400 0 0 0
…. 0 400 400 0 0 0
…. 0 400 400 0 0 0
…0 0 0 0 0
-1 -1 …0 100 200 200 200
1 1 …0 200 0 0 0
…0 200 0 0 0
Use of First Derivative for Edge Extraction
Gradient
2nd Derivative _ Laplacian

 f  f 2 2
 f  2  2
2
x y

2 f
 f ( x  1, y )  f ( x  1, y )  2 f ( x, y )
x 2

2 f
 f ( x, y  1)  f ( x, y  1)  2 f ( x, y )
y 2

 2 f  [ f ( x  1, y )  f ( x  1, y )  f ( x, y  1)  f ( x, y  1)  4 f ( x, y )]
Use of 2nd Derivative for Enhancement
Laplacian

Isotropic filter response is independent of the direction of the


discontinuities in the image to which the filter is applied.

 2
f  2
f
 f  2  2
2
x y
Use of 2nd Derivative for Enhancement
Laplacian

0 1 0
f(x,y) = [90, 100]
1 -4 1
0 1 0

…0 0 0 0 …
…0 10 0 0 …
… 10 -40 10 0 …
…0 10 0 0 …
…0 0 0 0 …
Use of 2nd Derivative for Enhancement
Laplacian

1 1 1
1 -8 1
1 1 1

If the center coefficient


of the laplacian mask is
negative

 f ( x, y )   2 f ( x, y )
g ( x, y )  
 f ( x , y )   2
f ( x, y )
Use of 2nd Derivative for Enhancement
Laplacian
 2 f  [ f ( x  1, y)  f ( x  1, y)  f ( x, y  1)  f ( x, y  1)  4 f ( x, y)]
0 1 0
g(x,y) = f(x,y) - 1 -4 1 =
0 1 0

 f ( x, y )
2
Un-sharp Masking and High-boost Filtering
Un-sharp Masking and High-boost Filtering

(b)
Combining Spatial
Enhancement Methods
Combining Spatial
Enhancement Methods

Вам также может понравиться