You are on page 1of 52

Intensity Transformations (Chapter 3)

CS474/674 Prof. Bebis



Spatial Domain Methods
f(x,y)
g(x,y)
g(x,y)
f(x,y)
Point
Processing
Area/Mask
Processing
Point Processing Transformations
Convert a given pixel value to a new pixel value based on some
predefined function.
Identity Transformation
Negative Image
O(r,c) = 255-I(r,c)
Contrast Stretching or Compression

Stretch gray-level ranges where
we desire more information
(slope > 1).

Compress gray-level ranges that
are of little interest
(0 < slope < 1).
Thresholding
Special case of contrast compression
Intensity Level Slicing
Highlight specific ranges of gray-levels only.
Same as double
thresholding!
Bit-level Slicing
Highlighting the contribution made by a specific bit.
For pgm images, each pixel is represented by 8 bits.
Each bit-plane is a binary image

Logarithmic transformation
Enhance details in the darker regions of an image at the expense
of detail in brighter regions.
( ) ( ) r c r T s + = = 1 log
compress
stretch
Exponential transformation
Reverse effect of that obtained using logarithmic mapping.
compress
stretch
Histogram Equalization
A fully automatic gray-level stretching technique.







Need to talk about image histograms first ...

Image Histograms
An image histogram is a plot of the gray-level frequencies (i.e.,
the number of pixels in the image that have that gray level).

Image Histograms (contd)
Divide frequencies by total number of pixels to represent
as probabilities.

N n p
k k
/ =
Image Histograms (contd)
Properties of Image Histograms
Histograms clustered at the low end correspond to dark images.
Histograms clustered at the high end correspond to bright
images.
Properties of Image Histograms (contd)
Histograms with small spread correspond to low contrast
images (i.e., mostly dark, mostly bright, or mostly gray).
Histograms with wide spread correspond to high contrast
images.
Properties of Image Histograms (contd)
Low contrast High contrast
Histogram Equalization
The main idea is to redistribute the gray-level values uniformly.







Histogram Equalization (contd)
In practice, the equalized histogram might not be completely
flat.







Probability - Definitions
Random experiment: an experiment whose result is not
certain in advance (e.g., throwing a die)

Outcome: the result of a random experiment

Sample space: the set of all possible outcomes (e.g.,
{1,2,3,4,5,6})

Event: a subset of the sample space (e.g., obtain an odd
number in the experiment of throwing a die = {1,3,5})
Random Variables - Review
A function that assigns a real number to random experiment
outcomes (i.e., helps to reduce space of possible outcomes)
X(j)
X: # of heads
Random Variables - Example
Consider the experiment of throwing a pair of dice
Define the r.v. X=sum of dice
X=x corresponds to the event
Probability density function
The probability density function (pdf) is a real-valued function
f
X
(x) describing the density of probability at each point in the
sample space.






In the discrete case, this is just a histogram!

Gaussian
Probability distribution function
The integral of f
X
(x) defines the probability distribution function
F
X
(x) (i.e., cumulative probability)





In the discrete case, simply take the sum:
f
X
(x) F
X
(x)
Gaussian
f
X
(a)da

non-decreasing
Probability distribution function (contd)
Uniform Distribution
f
X
(x)
F
X
(x)
B_Parvin@lbl.gov
Random Variable Transformations
Suppose Y=T(X)
e.g., Y=X+1

If we know f
X
(x), can we find f
Y
(y)?

Yes - it can be shown that:

Transformations of r.v. - Example
=0, =1
=1, =1
0
Special transformation!
1 1
( ) ( )
1
( ) [ ( ) ] [ ( ) ] 1
( )
Y X X
x T y x T y
X
dX
f y f x f x
dY f x

= =
= = =
Proof:
Histogram Equalization (contd)
The intensity levels can be viewed as a random variable in [0,1]
p
r
(r)
p
s
(s)
Histogram Equalization (contd)
For PGM images:
L=256 (graylevels)
k=0,1,2, , L-1 (possible graylevels)
r
k
=k/(L-1) (normalized graylevel in [0, 1])
Histogram Equalization (contd)
then, de-normalize:
s
k
x (L-1)
Histogram Equalization Example
3 bit
64 x 64 image
input histogram
equalized histogram
Histogram Equalization Examples
equalized images and histograms original images and histograms
Histogram Specification (Matching)
Histogram equalization yields a uniform pdf only.
What if we want to obtain a histogram other than uniform?
f
R
(r)
f
R
(a)da f
Z
(a)da
f
Z
(z)
only
desired
histogram
is known
so, Q(r)=G
-1
(T(r))
Histogram Specification (contd)


f
S
(s) and f
V
(v) are uniform
G(z) can be computed by specifying f
Z
(z) but I
2
and I
2
are
unknown!
z=G
-1
(v) requires that v is a r.v. with uniform pdf
IDEA: use z=G
-1
(s) instead of z=G
-1
(v)
s is a r.v. with uniform pdf
The desired transformation is
z=G
-1
(T(r))
f
R
(a)da f
z
(a)da
Histogram Specification (contd)



Comments
We do not need to apply T( ) and G
-1
( ) separately!
Combine them: Q=G
-1
T, thus, z=Q(r)
Histogram specification assumes that we know G
-1
(not
always easy to find).
G( ) must be in [0,1] and must be non-decreasing.
z=G
-1
(T(r))=Q(r)
Histogram Specification Example
3 bit
64 x 64 image
specified histogram
actual histogram
input histogram
Histogram Specification (contd)
Histogram specification might yield superior results than
histogram equalization.


results of histogram equalization
Histogram Specification (contd)


results of histogram specification
G(z)
G
-1
(z)
Local Histogram Processing
Histogram equalization/specification are global methods.
The intensity transformation is computed using pixels from
the entire image.

Global transformations are not appropriate for enhancing
little details in an image.
The number of pixels in these areas might be very small,
contributing very little to the computation of the
transformation.
Local Histogram Processing
Idea:
Define a transformation function based on the intensity
distribution in a neighborhood of every pixel in the image!
Local Histogram Processing (contd)
1. Define a neighborhood and move its
center from pixel to pixel.
2. At each location, the histogram of the
points in the neighborhood is computed.
Obtain histogram equalization or
histogram specification transformation.
3. Map the intensity of the pixel
centered in the neighborhood.
4. Move to the next location and repeat
the procedure.

Local Histogram Processing: Example
local histogram
equalization
3 x 3 neighborhood
global histogram
equalization
Histogram Statistics
1
0
( ) ( ) ( )
L
n
n i i
i
r r m p r

=
=

1
0
( )
L
i i
i
m r p r

=
=

1 1
0 0
1
( , )
M N
x y
f x y
MN

= =
=

1
2 2
2
0
( ) ( ) ( )
L
i i
i
r r m p r o

=
= =

| |
1 1
2
0 0
1
( , )
M N
x y
f x y m
MN

= =
=

n-th moment
around mean
Variance
(2
nd
moment)
Mean
(average intensity)
Example: Comparison of
Standard Deviation Values
31.6 o =
14.3 o =
49.2 o =
is useful for estimating image contrast!
Local Histogram Statistics
1
0
Local average intensity
( )
denotes a neighborhood
xy xy
L
s i s i
i
xy
m r p r
s

=
=

1
2 2
0
Local variance
( ) ( )
xy xy xy
L
s i s s i
i
r m p r o

=
=

Using Histogram Statistics


for Image Enhancement
Useful when parts of the image might contain hidden
features.

Task: enhance dark
areas without changing
bright areas.

Idea: Find dark, low contrast
areas using local statistics.
Using Histogram Statistics
for Image Enhancement: Example
0 1 2
0 1 2
( , ), if and
( , )
( , ), otherwise
: global mean; : global standard deviation
0.4; 0.02; 0.4; 4
xy xy
s G G s G
G G
E f x y m k m k k
g x y
f x y
m
k k k E
o o o
o
s s s

= = = =
Question
Intensity operations can yield pixel values outside of the
range [0 255].
You should convert values back to the range [0 255] to
ensure that the image is displayed properly.

How would you find the following mapping?

[f
min
f
max
] [ 0 255]

You might also like