Professional Documents
Culture Documents
Thi Giac May Tinh Vo Quang Hoang Khang Dip03 Image Enhancement Historgram Equalization (Cuuduongthancong - Com)
Thi Giac May Tinh Vo Quang Hoang Khang Dip03 Image Enhancement Historgram Equalization (Cuuduongthancong - Com)
Thi Giac May Tinh Vo Quang Hoang Khang Dip03 Image Enhancement Historgram Equalization (Cuuduongthancong - Com)
om
.c
Image Enhancement
ng
co
Histogram Equalization
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Contents
om
processing techniques:
.c
What is histogram?
ng
Histogram equalization
co
Histogram matching
an
th
o ng
du
u
cu
om
r0 , r1 ,, rL1 is the discrete function
.c
ng
nk
p(rk )
co
n
an
nk: Number of pixels with gray value rk
th
ng
n: total Number of pixels in the image
o
du
u
om
appearance of the image.
.c
ng
If we consider the gray values in the image as
co
realizations of a random variable R, with some
an
probability density, histogram provides an
th
approximation to this probability density. In other
ng
words,
o
du
Pr( R rk ) p(rk )
u
cu
om
for contrast enhancement
.c
ng
co
an
th
ng
Dark image
o
du
u
cu
om
Bright image
.c
ng
co
an
th
o ng
du
Low contrast
u
image
cu
om
.c
ng
High contrast image
co
an
th
o ng
du
u
cu
om
a given image. The approach is to design a
.c
transformation T(.) such that the gray values in the
output is uniformly distributed in [0, 1].
ng
co
Let us assume for the moment that the input image to
an
be enhanced has continuous gray values, with r = 0
th
ng
representing black and r = 1 representing white.
o
du
we assume that:
om
T(r) is a monotonically
.c
increasing function for
0 r 1 (preserves
ng
co
order from black to
an
white).
th
T(r) maps [0,1] into ng
[0,1] (preserves the
o
du
values).
cu
om
We assume that the inverse transformation also
.c
satisfies the above two conditions.
ng
We consider the gray values in the input image and
co
output image as random variables in the interval [0, 1].
an
th
ng
Let pin(r) and pout(s) denote the probability density of
o
the Gray values in the input and output images.
du
u
cu
om
condition 1, we can write (result from probability
.c
theory): dr
pout ( s) pin (r )
ng
ds r T 1 ( s )
co
One way to enhance the image is to design a
an
transformation T(.) such that the gray values in the
th
output is uniformly distributed in [0, 1], i.e. pout (s) 1,
ng
0 s 1
o
du
om
uniformly distributed in [0, 1].
Consider the transformation
.c
r
s T (r ) pin ( w)dw ,
ng
0 r 1
co
0
an
(CDF) of pin (r) and satisfies the previous two
th
ng
conditions.
o
From the previous equation and using the fundamental
du
theorem of calculus,
u
cu
ds
pin (r )
dr
om
1
pout ( s ) pin (r ) 1r T 1 ( s ) 1, 0 s 1
.c
pin (r ) r T 1 ( s )
ng
co
The output probability density function is uniform,
an
regardless of the input.
th
Thus, using a transformation function equal to the CDF
ng
of input gray values r, we can obtain an image with
o
du
om
nk
pin (rk ) 0 rk 1 0 k L 1
.c
n
ng
L: Total number of gray levels
co
an
nk: Number of pixels with gray value rk
th
n: Total number of pixels in the image
ng
Step 2: Based on CDF, compute the discrete version
o
du
k
s k T (rk ) pin (r j ) 0 k L 1
j 0
om
1, …, 7). The normalized gray values are (0, 1/7, 2/7,
…, 1). The normalized histogram is given below:
.c
ng
co
an
th
o ng
du
u
cu
NB: The gray values in output are also (0, 1/7, 2/7, …, 1).
om
.c
# pixels
ng
Fraction
co
of # pixels
an
th
o ng
du
om
.c
ng
co
an
th
o ng
du
u
cu
Notice that there are only five distinct gray levels ---
om
(1/7, 3/7, 5/7, 6/7, 1) in the output image. We will
relabel them as (s0, s1, …, s4 ).
.c
With this transformation, the output image will have
ng
co
histogram
an
th
o ng
du
u
cu
om
.c
# pixels
ng
co
an
th
o ng
du
Gray values
u
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
desirable results, particularly if the given histogram is
.c
very narrow. It can produce false edges and regions. It
can also increase image “graininess” and “patchiness.”
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
are (in theory) uniformly distributed among all gray
.c
levels.
Sometimes, this may not be desirable. Instead, we
ng
co
may want a transformation that yields an output image
an
with a pre-specified histogram. This technique is called
th
histogram specification. ng
o
z=H(r)
du
u
cu
om
probability density of the new image obtained by this
.c
transformation is pout(z) , which is not necessarily uniform.
ng
First apply the transformation
co
r
an
s T (r ) pin ( w)dw , 0 r 1 (*)
th
0
ng
This gives an image with a uniform probability density.
o
uniform density:
z
v G ( z ) pout ( w)dw, 0 z 1 (**)
0
Image Enhancement-Histogram Equalization 28
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Histogram matching
From the gray values nwe can obtain the gray values
z by using the inverse transformation, z G-1(v)
om
.c
ng
If instead of using the gray values nobtained from (**),
co
we use the gray values s obtained from (*) above (both
an
are uniformly distributed ! ), then the point
th
transformation ng
o
z=H(r)= G-1[ v=s =T(r)]
du
u
cu
om
k
s k T (rk ) pin (r j ) 0 k L 1
.c
j 0
ng
k
vk G ( z k ) pout ( z j ) sk 0 k L 1
co
j 0
an
If the transformation zk G(zk) is one-to-one, the
th
inverse transformation sk G-1 (sk) , can be easily
o ng
determined, since we are dealing with a small set of
du
om
uniform gray values, using the discrete equation:
.c
k
s k T (rk ) pin (r j ) 0 k L 1
ng
j 0
co
Step 2: Based on desired histogram to get an image
an
with uniform gray values, using the discrete equation:
th
k
vk G ( z k ) pout ( z j ) sk
ng
0 k L 1
o
j 0
du
Step 3:
u
cu
1 1
z G ( v=s ) z G [T ( r )]
om
.c
ng
co
# pixels
an
th
o ng
du
u
cu
Gray value
om
using a transformation Z=H(r)= G-1[T(r)], with
.c
histogram as specified below:
ng
co
an
th
# pixels
ng
o
du
u
cu
Gray values
om
(reproduced below):
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
invertible.
.c
G-1(0) = ?
ng
G-1(1/7) = 3/7
co
G-1(2/7) = 4/7
an
G-1(3/7) = ?
th
ng
G-1(4/7) = ?
o
G-1(5/7) = 5/7
du
G-1(6/7) = 6/7
u
cu
G-1(1) = 1
om
z=H(r)= G-1[v=s=T(r)]
.c
ng
co
an
th
o ng
du
u
cu
om
yields an image with histogram as below:
.c
ng
co
an
th
o ng
du
om
.c
ng
co
an
Original image and its histogram
th
o ng
du
u
cu
om
.c
Desired histogram
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
histogram matching
.c
ng
Next time we will start to look at neighbourhood
co
operations – in particular filtering and convolution
an
th
o ng
du
u
cu