image enhancementread.pudn.com/downloads290/sourcecode/graph/1305239/project2/020410.pdfexample:...
TRANSCRIPT
Image Enhancement
Department of Electrical and Computer Engineering
Temple University
Outline
• Spatial Operations
– Point processing
– Local processing
• Point processing
– Contrast stretching
– Logarithmic transformation
– Histogram equalization
– Histogram matching
• Local processing
– Spatial filtering
– Image sharpening
Image Enhancement
• Goal
– To process an image so that the result is more suitable than the original
image for visual interpretation
• Spatial domain approaches
– Direct manipulation of pixels in an image
– Intensity transformations (Point processing)– Intensity transformations (Point processing)
– Spatial filtering (working in a neighborhood of every pixel in an image)
• Transform domain approaches
– Enhancement carried out in the transform domain
– Processing transform coefficients of an image
Spatial Operations
• Point processing
– The output value at a specific coordinate is dependent only on the input
value at that same coordinate
T
[ ]( , ) ( , )g x y T f x y=( , )f x y
• Local processing
– The pixel value at a specific coordinate in an output (processed) image
is determined by a specified operation on the input values in the
neighborhood of that same coordinate
T
{ }( , ) ( , )g x y T N f x y = ( , )f x y
Point Processing
• Gray-level transformation (mapping) applied to each pixel
– Gray scale manipulations
– Contrast manipulation
– Image thresholding
( )s T r=
• Manipulation of histograms for image enhancement
– Histogram stretching
– Histogram equalization
– Histogram matching (specification)
Basic Intensity Transformation Functions
• Intensity transformations
Contrast Stretching
• Contrast Stretching
– Increase the dynamic range of the gray levels
s
1( )
1 ( / )Es T r
m r= =
+
rm
Contrast stretchedOriginal image
Thresholding
• Binarization
– Converts a gray-scale image to a binary (black-and-white) image
s
L-1
{ 0 if 1 if
r ms
L r m<= − ≥
r
Binary-level image
L-1
L-1
m
Original image
Image Negatives
• Reversal of gray scale
– Reverse the intensity levels of an image
– To enhance white or gray detail embedded in dark regions
s
1s L r= − −
rL-1
L-1
Image negativeOriginal image
Image Negatives – Application
• Digital mammogram
– Black areas are dominant in size
– Details are in the dark region
Original image Image negative
Log Transformation
• Logarithmic contrast enhancement
– Brighten dark images
s
log(1 )s c r= +
Log transformationOriginal image
rL-1
L-1
Log Transformation – Applications
Log transformation
Fourier magnitude
Power-Law (Gamma) Transformations
• Basic form
– Gamma < 1: Maps a narrow range of dark input values into a wider
range of output values
s crγ=
1c =
Gamma Correction
0 0.5 10
0.5
1
Gamma = 0.42
0 0.5 10
0.5
1
Gamma = 2.1
Gamma Correction – Applications
• Correction of monitor response
Gamma Correction – Applications
• MR image of human spine
– c = 1, γ = 0.6
• Aerial image
– c = 1, γ = 3.0
Enhanced imageOriginal image
Piecewise Linear Transformations
• Low contrast images
– Can result from poor illumination, lack of dynamic range in the
imaging sensor, or wrong setting of a lens aperture
• Contrast stretching
– Expands the range of intensity levels in an image so that it spans the
full intensity range of the recording medium or display devicefull intensity range of the recording medium or display device
Contrast
• Contrast is a property based on human perception
• An approximate definition of contrast
– F and B are the mean gray-levels of two regions whose contrast is
evaluated
contrastF B
F B
−=
+
• The larger the contrast between image parts, the larger the
enhancement
contrastF B
=+
Contrast Stretching
• Contrast stretching
Brightness Adjustment
• Brightness adjustment
0.5
1
Intensity Transformation
0 0.5 10
Obtaining Image Histogram
• Initialize frequency bins
– For a B-bit image, initialize the array h of 2B counters with zero
• For all pixels (x,y) of the image f, increment h[f(x,y)] by 1
( )h k
k( , )f x y
Cumulative Histogram
• Sum of pixels under a certain gray level
• Relationship with histogram
Cumulative histogram Histogram
{ } [ ]( ) ( , ) | ( , ) , 0, 1H k n f x y f x y k k L= < ∈ −
0
( ) ( )k
i
H k h i=
=∑ ( ) ( ) ( 1)h k H k H k= − −
Cumulative histogram Histogram
Histogram Processing
• Provides the frequency of the brightness value in the image
– An estimate of the probability density function (pdf) of brightness levels as a
random process
• Histogram
– The histogram of an M×N digital image with intensity levels in the
range [0, L-1] is a discrete functionrange [0, L-1] is a discrete function
– rk: k-th intensity value
– nk: the number of pixels in the image with intensity rk
– Often normalize a histogram by the total number of pixels
( ) , 0,1,2, , 1kk
np r k L
MN= = −⋯
( )k kh r n=
Histogram Processing
• Four basic image types
– Dark, light, low-contrast, high-contrast
Histogram Stretching
• Stretch the histogram over the entire dynamic range
min
max min
( , )( , ) ( 1)
f x y fg x y L
f f
−= −
−
Histogram stretched
Window and Level Contrast Enhancement
• Expansion of the contrast of the pixels within a given window range
– Level (L): Middle point
– Window (W): Width of the range
• Example: Window and Level contrast enhancement technique
– The window ranges from the minimum to the maximum pixel values of
the image
Example: Window and Level
• Original CT image
– Pixel values: [1024, 1862]
• Enhanced image
– Window = 100, Level = 1100
Original CT image Enhanced CT image
Example: Window and Level
• Contrast Adjustment
0.5
1
Intensity Transformation
0 0.5 10
Histogram Equalization
• To produce an image with uniformly distributed brightness levels
over the whole brightness scale
• Automatically determines a transformation function that seeks to
produce an output image that has a uniform histogram
s
( )s T r=
( )rp r
r
( )sp s
s
s
r
Input histogram equalized histogram
Histogram Equalization Mapping
• (Continuous) intensity mapping
• Assumptions
– T(r): monotonically increasing function
–
( ) , 0 1s T r r L= ≤ ≤ −
0 ( ) 1 for 0 1T r L r L≤ ≤ − ≤ ≤ −
Review: Probability Density Functions
• Transformation
• Probability density function of the transformed variable
( ) ( )s r
drp s p r
ds=
( ) , 0 1s T r r L= ≤ ≤ −
( ) ( )s rp s p rds
=
Histogram Equalization
• Consider a transformation
– Cumulative distribution function (cdf)
0
( )
( 1) ( )
( 1) ( )
r
r
ds dT r
dr dr
dL p w dw
dr
L p r
=
= − = −
∫
0( ) ( 1) ( )
r
rs T r L p w dw= = − ∫
• PDF of the transformed intensity levels
( 1) ( )rL p r= −
( ) ( )
1( )
( 1) ( )
1, 0 1
1
s r
r
r
drp s p r
ds
p rL p r
s LL
=
=−
= ≤ ≤ −−
Histogram Equalization – Example
• Input PDF
• The transformation
2
20 1
( 1)( )
0 otherwise
r
rr L
Lp r
≤ ≤ − −=
2
0 0
2( ) ( 1) ( )
1 1
r r
r
rs T r L p w dw wdw
L L= = − = =
− −∫ ∫
• Output PDF
1 1L L− −
1
2
12
2
2
2( ) ( )
( 1)
2
( 1) 1
2 1 1
( 1) 2 1
s r
dr r dsp s p r
ds L dr
r d r
L dr L
r L
L r L
−
−
= = −
= − −
− = = − −
Histogram Equalization (Discrete)
• Histogram (PDF estimate)
• Histogram equalization transformation
– Discrete form of the transformation
( ) , 0,1,2, , 1kr k
np r k L
MN= = −⋯
0
0
( ) ( 1) ( )
( 1)
k
k k r j
j
k
j
j
s T r L p r
Ln
MN
=
=
= = −
−=
∑
∑
Example
• A 3-bit image of size 64×64 pixels
– L = 8, MN = 4,096
• Histogram equalization transformation
0
0 0 0
0
( ) 7 ( ) 7 ( ) 7(0.19) 1.33r j r
j
s T r p r p r=
= = = = =∑
( )1
1 1 0 1
0
( ) 7 ( ) 7 ( ) ( ) 7(0.19 0.25) 3.08r j r r
j
s T r p r p r p r=
= = = + = + =∑
2 3 4 5 6 74.55, 5.67, 6.23, 6.65, 6.86, 1.0s s s s s s= = = = = =
Example
• Output histogram
– Rounding to the nearest integer
0 4
1 5
2 6
1.33 1 6.23 6
3.08 3 6.65 7
4.55 5 6.86 7
5.67 6 7.00 7
s s
s s
s s
s s
= → = →
= → = →
= → = →
= → = →3 7
5.67 6 7.00 7s s= → = →
Example: Histogram Equalization
Example: Histogram Equalization
Example: Histogram Equalization
• Histogram equalized images
– Center
Histogram Matching (Specification)
• Generalization of histogram equalization
– Uniform histogram is not the best approach
– Specify the shape of the histogram that the processed image must have
• Histogram matching (specification)
– To generate a processed image that has a specified histogram
Input histogram Specified histogram( )z W r=
( )zp z( )rp r
r
r
z
z
Histogram Matching
• Idea
– Gray-level transformations
• Histogram equalization
1( ) ( ), ( ) , ( ) , ( )
s T r z G s
r s zr p r s p s z p z−= =→ →
( ) ( 1) ( )r
rs T r L p w dw= = − ∫
• Histogram matching transformation
0( ) ( 1) ( )rs T r L p w dw= = − ∫
0( ) ( 1) ( )
z
zG z L p t dt s= − =∫
[ ]1 1( ) ( )z G s G T r− −= =
Histogram Matching – Example
• PDFs
• Procedure
– Histogram equalization
2
20 1
( 1)( )
0 otherwise
r
rr L
Lp r
≤ ≤ − −=
2
3
30 1
( ) ( 1)
0 otherwise
z
zz L
p z L
≤ ≤ −
= −
– Histogram specification
2
0 0
2( ) ( 1) ( )
( 1) ( 1)
r r
r
rs T r L p w dw wdw
L L= = − = =
− −∫ ∫
32
2 20 0
3( ) ( 1) ( )
( 1) ( 1)
r z
z
zG z L p w dw w dw
L L= − = =
− −∫ ∫
Histogram Matching – Example
• Require
• Desired transformation
3
2( )
( 1)
zs G z
L= =
−
1/31/32
1/32 2
1/32
( 1) ( 1)( 1)
( 1)
( )
rz L s L
L
L r
W r
= − = − −
= −
=
Histogram Matching (Discrete Implementation)
• Obtain the histogram of the given image
• Histogram equalization
0
0
( ) ( 1) ( )
( 1), 0,1,2, , 1
k
k k r j
j
k
j
j
s T r L p r
Ln k L
MN
=
=
= = −
−= = −
∑
∑ ⋯
( ), 0,1, , 1r ip r i L= −⋯
• Find the transformation G from the given pz(z)
• Inverse transformation
• For each pixel in the original image, map rk to sk then into final level zk
0
( ) ( 1) ( )k
k z i
i
G z L p z=
= − ∑
1( ) ( )k k k kG z s z G s−= → =
Histogram Specification – Example
• Histogram equalization
• Find the transformation G from the given pz(z)
0 1 2 3
4 5 6 7
1 3 5 6
6 7 7 7
s s s s
s s s s
= = = =
= = = =
0
0( ) 7 ( ) 0.00z jG z p z= =∑
[ ]
0
0
1
1 0 1
0
( ) 7 ( ) 0.00
( ) 7 ( ) 7 ( ) ( ) 0.00
z j
j
z j z z
j
G z p z
G z p z p z p z
=
=
= =
= = + =
∑
∑⋯
0 4
1 5
2 6
3 7
( ) 0.00 0 ( ) 2.45 2
( ) 0.00 0 ( ) 4.55 5
( ) 0.00 0 ( ) 5.95 6
( ) 1.05 1 ( ) 7.00 7
G z G z
G z G z
G z G z
G z G z
= → = →
= → = →
= → = →
= → = →
Histogram Specification – Example
• Find the mapping from s to z
– Find the smallest value of z so that the value G(z) is the closest to s
r s z
0 1 3
1 3 4
2 5 5
3 6 6
4 6 6
5 7 7
6 7 7
7 7 7