Histogram Processing
► Histogram Equalization
► Histogram Matching
► Local Histogram Processing
► Using Histogram Statistics for Image Enhancement
1/18/2018 1
Histogram Processing
Histogram h(rk ) nk
rk is the k th intensity value
nk is the number of pixels in the image with intensity rk
nk
Normalized histogram p(rk )
MN
nk : the number of pixels in the image of
size M N with intensity rk
1/18/2018 2
1/18/2018 3
Histogram Equalization
The intensity levels in an image may be viewed as
random variables in the interval [0, L-1].
Let pr (r ) and ps ( s) denote the probability density
function (PDF) of random variables r and s.
1/18/2018 4
Histogram Equalization
s T (r ) 0 r L 1
a. T(r) is a strictly monotonically increasing function
in the interval 0 r L -1;
b. 0 T (r ) L -1 for 0 r L -1.
1/18/2018 5
Histogram Equalization
s T (r ) 0 r L 1
a. T(r) is a strictly monotonically increasing function
in the interval 0 r L -1;
b. 0 T (r ) L -1 for 0 r L -1.
T (r ) is continuous and differentiable.
ps (s)ds pr (r )dr
1/18/2018 6
Histogram Equalization
r
s T (r ) ( L 1) pr ( w)dw
0
ds dT (r ) d r
dr
dr
( L 1)
dr 0
pr ( w) dw
( L 1) pr (r )
pr (r )dr pr (r ) pr (r ) 1
ps ( s)
ds ds ( L 1) pr (r ) L 1
dr
1/18/2018 7
Example
Suppose that the (continuous) intensity values
in an image have the PDF
2r
, for 0 r L-1
pr (r ) ( L 1) 2
0,
otherwise
Find the transformation function for equalizing
the image histogram.
1/18/2018 8
Example
r
s T (r ) ( L 1) pr ( w)dw
0
r 2w
( L 1) dw
0 ( L 1) 2
2
r
L 1
1/18/2018 9
Histogram Equalization
Continuous case:
r
s T (r ) ( L 1) pr ( w)dw
0
Discrete values:
k
sk T (rk ) ( L 1) pr (rj )
j 0
k nj L 1 k
( L 1) nj k=0,1,..., L-1
j 0 MN MN j 0
1/18/2018 10
Example: Histogram Equalization
Suppose that a 3-bit image (L=8) of size 64 × 64 pixels (MN = 4096)
has the intensity distribution shown in following table.
Get the histogram equalization transformation function and give the
ps(sk) for each sk.
1/18/2018 11
Example: Histogram Equalization
0
s0 T (r0 ) 7 pr (rj ) 7 0.19 1.33 1
j 0
1
s1 T (r1 ) 7 pr (rj ) 7 (0.19 0.25) 3.08 3
j 0
s2 4.55 5 s3 5.67 6
s4 6.23 6 s5 6.65 7
s6 6.86 7 s7 7.00 7
1/18/2018 12
Example: Histogram Equalization
1/18/2018 13
1/18/2018 14
1/18/2018 15
Question
Is histogram equalization always good?
No
1/18/2018 16
Histogram Matching
Histogram matching (histogram specification)
— generate a processed image that has a specified histogram
Let pr ( r ) and pz ( z ) denote the continous probability
density functions of the variables r and z. pz ( z ) is the
specified probability density function.
Let s be the random variable with the probability
r
s T (r ) ( L 1) pr ( w)dw
0
Define a random variable z with the probability
z
G ( z ) ( L 1) pz (t )dt s
0
1/18/2018 17
Histogram Matching
r
s T (r ) ( L 1) pr ( w)dw
0
z
G ( z ) ( L 1) pz (t )dt s
0
1
z G ( s) G 1
T (r )
1/18/2018 18
Histogram Matching: Procedure
► Obtain pr(r) from the input image and then obtain the values of s
r
s ( L 1) pr ( w)dw
0
► Use the specified PDF and obtain the transformation function G(z)
z
G( z ) ( L 1) pz (t )dt s
0
► Mapping from s to z
z G 1 (s)
1/18/2018 19
Histogram Matching: Example
Assuming continuous intensity values, suppose that an image has
the intensity PDF
2r
, for 0 r L -1
pr (r ) ( L 1) 2
0,
otherwise
Find the transformation function that will produce an image
whose intensity PDF is
3z 2
, for 0 z ( L -1)
pz ( z ) ( L 1) 3
0,
otherwise
1/18/2018 20
Histogram Matching: Example
Find the histogram equalization transformation for the input image
2
r r 2w r
s T (r ) ( L 1) pr (w)dw ( L 1) dw
0 0 ( L 1) 2
L 1
Find the histogram equalization transformation for the specified histogram
z z 3t 2 z3
G( z ) ( L 1) pz (t )dt ( L 1) dt s
0 0 ( L 1) 3
( L 1) 2
The transformation function
1/3
1/3 2 r
2
2 1/3
z ( L 1) s
2
( L 1) ( L 1)r
L 1
1/18/2018 21
Histogram Matching: Discrete Cases
► Obtain pr(rj) from the input image and then obtain the values of
sk, round the value to the integer range [0, L-1].
k
( L 1) k
sk T (rk ) ( L 1) pr (rj ) nj
j 0 MN j 0
► Use the specified PDF and obtain the transformation function
G(zq), round the value to the integer range [0, L-1].
q
G( zq ) ( L 1) pz ( zi ) sk
i 0
► Mapping from sk to zq
zq G 1 ( sk )
1/18/2018 22
Example: Histogram Matching
Suppose that a 3-bit image (L=8) of size 64 × 64 pixels (MN = 4096)
has the intensity distribution shown in the following table (on the
left). Get the histogram transformation function and make the output
image with the specified histogram, listed in the table on the right.
1/18/2018 23
Example: Histogram Matching
Obtain the scaled histogram-equalized values,
s0 1, s1 3, s2 5, s3 6, s4 7,
s5 7, s6 7, s7 7.
Compute all the values of the transformation function G,
0
G( z0 ) 7 pz ( z j ) 0.00 0
j 0
G ( z1 ) 0.00 0 G ( z2 ) 0.00 0
G ( z3 ) 1.05 1 G ( z4 ) 2.45 2
G ( z5 ) 4.55 5 G ( z6 ) 5.95 6
G ( z7 ) 7.00 7
1/18/2018 24
Example: Histogram Matching
1/18/2018 25
Example: Histogram Matching
Obtain the scaled histogram-equalized values,
s0 1, s1 3, s2 5, s3 6, s4 7,
s5 7, s6 7, s7 7.
Compute all the values of the transformation function G,
0
G( z0 ) 7 pz ( z j ) 0.00 0
j 0
G ( z1 ) 0.00 0 G ( z2 ) 0.00 0
G ( z3 ) 1.05 1 s0 G ( z4 ) 2.45 2 s1
G ( z5 ) 4.55 5 s2 G ( z6 ) 5.95 6 s3
G ( z7 ) 7.00 7 s4 s5 s6 s7
1/18/2018 26
Example: Histogram Matching
s0 1, s1 3, s2 5, s3 6, s4 7,
s5 7, s6 7, s7 7.
rk
0
1
2
3
4
5
1/18/2018 6 27
7
Example: Histogram Matching
rk zq
03
1 4
25
36
47
57
67
77
1/18/2018 28
Example: Histogram Matching
1/18/2018 29
Example: Histogram Matching
1/18/2018 30
Example: Histogram Matching
1/18/2018 31
Local Histogram Processing
Define a neighborhood and move its center from pixel to
pixel
At each location, the histogram of the points in the
neighborhood is computed. Either histogram equalization or
histogram specification transformation function is obtained
Map the intensity of the pixel centered in the neighborhood
Move to the next location and repeat the procedure
1/18/2018 32
Local Histogram Processing: Example
1/18/2018 33
Using Histogram Statistics for Image
Enhancement
Average Intensity L 1 M 1 N 1
m ri p(ri )
1
MN
f ( x, y )
x 0 y 0
i 0
L 1
un (r ) (ri m) n p(ri )
i 0
Variance L 1 M 1 N 1
u2 (r ) (ri
1
m) p(ri ) f ( x, y) m
2 2 2
i 0
MN x 0 y 0
1/18/2018 34
Using Histogram Statistics for Image
Enhancement
Local average intensity
L 1
msxy ri psxy (ri )
i 0
sxy denotes a neighborhood
Local variance
L 1
2
sxy (ri msxy ) psxy (ri )
2
i 0
1/18/2018 35
Using Histogram Statistics for Image
Enhancement: Example
E f ( x, y ), if msxy k0 mG and k1 G sxy k2 G
g ( x, y )
f ( x, y ), otherwise
mG : global mean; G : global standard deviation
k0 0.4; k1 0.02; k2 0.4; E 4
1/18/2018 36
Spatial Filtering
A spatial filter consists of (a) a neighborhood, and (b) a
predefined operation
Linear spatial filtering of an image of size MxN with a filter
of size mxn is given by the expression
a b
g ( x, y) w(s, t ) f ( x s, y t )
s a t b
1/18/2018 37
Spatial Filtering
1/18/2018 38