Download Digital Image Processing, 2nd ed.

Document related concepts

Charge-coupled device wikipedia , lookup

BSAVE (bitmap format) wikipedia , lookup

Aphelion (software) wikipedia , lookup

Scale space wikipedia , lookup

Hold-And-Modify wikipedia , lookup

Anaglyph 3D wikipedia , lookup

Dither wikipedia , lookup

Indexed color wikipedia , lookup

Computer vision wikipedia , lookup

Edge detection wikipedia , lookup

Stereoscopy wikipedia , lookup

Stereo display wikipedia , lookup

Spatial anti-aliasing wikipedia , lookup

Image editing wikipedia , lookup

Transcript
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 3
Image Enhancement
in the Spatial Domain
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Image Enhancement in the
Spatial Domain
• The spatial domain:
– The image plane
– For a digital image is a Cartesian coordinate system of discrete rows
and columns. At the intersection of each row and column is a pixel.
Each pixel has a value, which we will call intensity.
• The frequency domain :
– A (2-dimensional) discrete Fourier transform of the spatial domain
– We will discuss it in chapter 4.
• Enhancement :
– To “improve” the usefulness of an image by using some transformation
on the image.
– Often the improvement is to help make the image “better” looking,
such as increasing the intensity or contrast.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Background
• A mathematical representation of spatial
domain enhancement:
g ( x, y )  T [ f ( x, y )]
where f(x, y): the input image
g(x, y): the processed image
T: an operator on f, defined over some neighborhood of
(x, y)
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Gray-level Transformation
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Some Basic Gray Level Transformations
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Image Negatives
• Let the range of gray level be [0, L-1], then
s  L 1  r
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Log Transformations
s  c log( 1  r )
where c : constant
r 0
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Power-Law Transformation
s  cr 
where c,  : positive constants
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Power-Law Transformation
Example 1: Gamma Correction
  0.4
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Power-Law Transformation
Example 2: Gamma Correction
© 2002 R. C. Gonzalez & R. E. Woods
 1
  0.6
  0.4
  0.3
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Power-Law Transformation
Example 3: Gamma Correction
© 2002 R. C. Gonzalez & R. E. Woods
 1
  3.0
  4.0
  5.0
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Piecewise-Linear Transformation Functions
Case 1: Contrast Stretching
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Piecewise-Linear Transformation Functions
Case 2:Gray-level Slicing
An image
© 2002 R. C. Gonzalez & R. E. Woods
Result of using the transformation in (a)
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Piecewise-Linear Transformation Functions
Case 3:Bit-plane Slicing
• Bit-plane slicing:
– It can highlight the contribution made to total image appearance by
specific bits.
– Each pixel in an image represented by 8 bits.
– Image is composed of eight 1-bit planes, ranging from bit-plane 0 for
the least significant bit to bit plane 7 for the most significant bit.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Piecewise-Linear Transformation Functions
Bit-plane Slicing: A Fractal Image
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Piecewise-Linear Transformation Functions
Bit-plane Slicing: A Fractal Image
7
© 2002 R. C. Gonzalez & R. E. Woods
6
5
4
3
2
1
0
Digital Image Processing, 2nd ed.
Histogram Processing
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Histogram Processing
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Histogram Equalization
• Histogram equalization:
– To improve the contrast of an image
– To transform an image in such a way that the transformed image has a
nearly uniform distribution of pixel values
• Transformation:
– Assume r has been normalized to the interval [0,1], with r = 0
representing black and r = 1 representing white
s  T (r )
0  r 1
– The transformation function satisfies 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
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Histogram Equalization
• For example:
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Histogram Equalization
• Histogram equalization is based on a transformation of the
probability density function of a random variable.
• Let pr(r) and ps(s) denote the probability density function of
random variable r and s, respectively.
• If pr(r) and T(r) are known, then the probability density
function ps(s) of the transformed variable s can be obtained
p s ( s )  pr ( r )
dr
ds
r
• Define a transformation function s  T (r )  0 pr (w)dw
where w is a dummy variable of integration
and the right side of this equation is the cumulative distribution
function of random variable r.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Histogram Equalization
r
• Given transformation function T(r), T (r )  0 pr (w)dw
dr dT (r ) d  r
  p (r )


p
(
w
)
dw
r
r

ds
dr
dr  0
dr
1
ps ( s)  pr (r )
 pr (r )
1 0  s 1
ds
pr (r )
ps(s) now is a uniform probability density function.
• T(r) depends on pr(r), but the resulting ps(s) always is uniform.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Histogram Equalization
• In discrete version:
– The probability of occurrence of gray level rk in an image is
pr ( r ) 
nk
n
k  0,1,2,..., L  1
n : the total number of pixels in the image
nk : the number of pixels that have gray level rk
L : the total number of possible gray levels in the image
– The transformation function is
k
k
nj
j 0
j 0
n
sk  T (rk )   pr (rj )  
k  0,1,2,..., L  1
– Thus, an output image is obtained by mapping each pixel with level rk
in the input image into a corresponding pixel with level sk.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Histogram Equalization
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Histogram Equalization
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Histogram Equalization
• Transformation functions (1) through (4) were obtained form the
histograms of the images in Fig 3.17(1), using Eq. (3.3-8).
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Histogram Matching
• Histogram matching is similar to histogram equalization,
except that instead of trying to make the output image have a
flat histogram, we would like it to have a histogram of a
specified shape, say pz(z).
• We skip the details of implementation.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Local Enhancement
• The histogram processing methods discussed above are global,
in the sense that pixels are modified by a transformation
function based on the gray-level content of an entire image.
• However, there are cases in which it is necessary to enhance
details over small areas in an image.
original
© 2002 R. C. Gonzalez & R. E. Woods
global
local
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Histogram Statistics for Image Enhancement
• Moments can be determined directly from a histogram much faster than
they can from the pixels directly.
• Let r denote a discrete random variable representing discrete gray-levels in
the range [0,L-1], and p(ri) denote the normalized histogram component
corresponding to the ith value of r, then the nth moment of r about its mean
L 1
is defined as
 n (r )   (ri  m) n p(ri )
i 0
where m is the mean value of r
L 1
m   ri p (ri )
i 0
• For example, the second moment (also the variance of r) is
L 1
 2 (r )   (ri  m) 2 p(ri )
i 0
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Histogram Statistics for Image Enhancement
• Two uses of the mean and variance for enhancement
purposes:
– The global mean and variance (global means for the entire
image) are useful for adjusting overall contrast and
intensity.
– The mean and standard deviation for a local region are
useful for correcting for large-scale changes in intensity
and contrast. ( See equations 3.3-21 and 3.3-22.)
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Histogram Statistics for Image Enhancement
Example: Enhancement based on local statistics
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Histogram Statistics for Image Enhancement
Example: Enhancement based on local statistics
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Histogram Statistics for Image Enhancement
Example: Enhancement based on local statistics
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Enhancement Using Arithmetic/Logic Operations
• Two images of the same size can be combined using
operations of addition, subtraction, multiplication, division,
logical AND, OR, XOR and NOT. Such operations are done
on pairs of their corresponding pixels.
• Often only one of the images is a real picture while the other is
a machine generated mask. The mask often is a binary image
consisting only of pixel values 0 and 1.
• Example: Figure 3.27
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Enhancement Using Arithmetic/Logic Operations
AND
OR
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Image Subtraction
Example 1
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Image Subtraction
Example 2
• When subtracting two images, negative pixel values can result.
So, if you want to display the result it may be necessary to
readjust the dynamic range by scaling.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Image Averaging
• When taking pictures in reduced lighting (i.e., low
illumination), image noise becomes apparent.
• A noisy image g(x,y) can be defined by
g ( x , y )  f ( x, y )   ( x , y )
where f (x, y): an original image
 ( x, y ) : the addition of noise
• One simple way to reduce this granular noise is to take
several identical pictures and average them, thus
smoothing out the randomness.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Noise Reduction by Image Averaging
Example: Adding Gaussian Noise
• Figure 3.30 (a): An image
of Galaxy Pair NGC3314.
• Figure 3.30 (b): Image
corrupted by additive
Gaussian noise with zero
mean and a standard
deviation of 64 gray
levels.
• Figure 3.30 (c)-(f):
Results of averaging
K=8,16,64, and 128 noisy
images.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Noise Reduction by Image Averaging
Example: Adding Gaussian Noise
• Figure 3.31 (a):
From top to bottom:
Difference images
between Fig. 3.30 (a)
and the four images in
Figs. 3.30 (c) through
(f), respectively.
• Figure 3.31 (b):
Corresponding
histogram.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Basics of Spatial Filtering
• In spatial filtering (vs. frequency domain filtering), the output image is
computed directly by simple calculations on the pixels of the input image.
• Spatial filtering can be either linear or non-linear.
• For each output pixel, some neighborhood of input pixels is used in the
computation.
• In general, linear filtering of an image f of size MXN with a filter mask of
size mxn is given by
g ( x, y ) 
a
b
  w(s, t ) f ( x  s, y  t )
s   at   b
where a=(m-1)/2 and b=(n-1)/2
• This concept called convolution. Filter masks are sometimes called
convolution masks or convolution kernels.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Basics of Spatial Filtering
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Basics of Spatial Filtering
• Nonlinear spatial filtering usually uses a neighborhood too, but
some other mathematical operations are use. These can
include conditional operations (if …, then…), statistical
(sorting pixel values in the neighborhood), etc.
• Because the neighborhood includes pixels on all sides of the
center pixel, some special procedure must be used along the
top, bottom, left and right sides of the image so that the
processing does not try to use pixels that do not exist.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Smoothing Spatial Filters
• Smoothing linear filters
– Averaging filters (Lowpass filters in Chapter 4))
• Box filter
• Weighted average filter
Box filter
© 2002 R. C. Gonzalez & R. E. Woods
Weighted average
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Smoothing Spatial Filters
• The general implementation for filtering an MXN image with
a weighted averaging filter of size mxn is given by
a
g ( x, y ) 
b
  w(s, t ) f ( x  s, y  t )
s   at   b
a
b
  w(s, t )
s   at   b
where a=(m-1)/2 and b=(n-1)/2
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Smoothing Spatial Filters
Image smoothing with masks of various sizes
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
Smoothing Spatial Filters
Another Example
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Order-Statistic Filters
• Order-statistic filters
– Median filter: to reduce impulse noise (salt-andpepper noise)
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Sharpening Spatial Filters
• Sharpening filters are based on computing spatial
derivatives of an image.
• The first-order derivative of a one-dimensional
function f(x) is f
 f ( x  1)  f ( x)
x
• The second-order derivative of a one-dimensional
function f(x) is  2 f
x
© 2002 R. C. Gonzalez & R. E. Woods
2
 f ( x  1)  f ( x  1)  2 f ( x)
Digital Image Processing, 2nd ed.
Sharpening Spatial Filters
An Example
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Second Derivatives for Enhancement
The Laplacian
• Development of the Laplacian method
– The two dimensional Laplacian operator for continuous
functions:
2
2

f

f
2 f  2  2
x
y
– The Laplacian is a linear operator.
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)
2
y
 2 f  [ f ( x  1, y)  f ( x  1, y)  f ( x, y  1)  f ( x, y  1)]  4 f ( x)
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Second Derivatives for Enhancement
The Laplacian
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Second Derivatives for Enhancement
The Laplacian
• To sharpen an image, the Laplacian of the image is subtracted
from the original image.
 f ( x, y)   2 f if the center coefficien t of the Laplacian mask is negative.
g ( x, y)  
2
 f ( x, y)   f if the center coefficien t of the Laplacian mask is positive.
• Example: Figure 3.40
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of Second Derivatives for Enhancement
The Laplacian: Simplifications
The g(x,y) mask
Not only  2 f
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of First Derivatives for Enhancement
The Gradient
• Development of the Gradient method
– The gradient of function f at coordinates (x,y) is defined as
the two-dimensional column vector:
 f 
Gx   x 
f      f 
G y   
 y 
– The magnitude of this vector is given by

f  mag (f )  G  G
f  G x  G y
© 2002 R. C. Gonzalez & R. E. Woods
2
x

1
2 2
y
 f  2  f 
     
 x   y 
2



1
2
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of First Derivatives for Enhancement
The Gradient
Roberts cross-gradient
operators
Sobel
operators
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Use of First Derivatives for Enhancement
The Gradient: Using Sobel Operators
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Combining Spatial
Enhancement Methods
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Combining Spatial
Enhancement Methods
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com