Professional Documents
Culture Documents
transformations and
spatial filtering
ECE330 Image Processing
8/22/201
Jeeva@ASE,Blr - INtensity Tranformations 1
9
Image Enhancement Definition
http://www.eri.harvard.edu/faculty/peli/proje
cts/enhancement.html
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 3
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 4
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 5
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 6
Image Enhancement Methods
Where f(x,y) in the input image, g(x,y) is the processed image and T
is as operator on f, defined over some neighborhood of (x,y)
s = T (r)
Where, for simplicity in notation, r and s are variables denoting, respectively, the
grey level of f(x,y) and g(x,y) at any point (x,y)
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 9
Examples of Enhancement
• Contrast Stretching:
Techniques
If T(r) has the form as shown in the figure below, the effect of applying the transformation
to every pixel of f to generate the corresponding pixels in g would:
Produce higher contrast than the original image, by:
• Darkening the levels below m in the original
image
• Brightening the levels above m in the
original image
Some fairly simple, yet powerful, processing approaches can be formulated with
grey-level transformations. Because enhancement at any point in an image depends
only on the gray level at that point, techniques in this category often are referred to
as point processing.
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 11
Examples of Enhancement
Techniques
Larger neighborhoods allow considerable more flexibility. The general approach is
to use a function of the values of f in a predefined neighborhood of (x,y) to
determine the value of g at (x,y).
One of the principal approaches in this formulation is based on the use of so-called
masks (also referred to as filters)
• Identity Function
• Output intensities are identical to input intensities
• This function doesn’t have an effect on an image, it was
included in the graph only for completeness
• Its expression:
s=r
s=L–1–r
y Lx
0 L x
• Fig. 3.10(c) shows the result of contrast stretching, obtained by setting (r1, s1)
= (r min, 0) and (r2, s2) = (r max,L-1) where r min and r max denote the minimum
and maximum gray levels in the image, respectively. Thus, the transformation
function stretched the levels linearly from their original range to the full range
[0, L-1].
• Finally, Fig. 3.10(d) shows the result of using the thresholding function defined
previously, with r1=r2=m, the mean gray level in the image.
x 0 xa
yb
y ( x a ) ya a xb
( x b) y ya
b b xL x
0 a b L
0 0 xa
y ( x a) a x b
(b a) b x L
a b x
0 L
y c log 10 (1 x)
0 L x
c=100
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 36
Gray-level Slicing
• This technique is used to highlight a specific range of gray levels in a given
image. It can be implemented in several ways, but the two basic themes are:
• One approach is to display a high value for all gray levels in the range of
interest and a low value for all other gray levels. This transformation,
shown in Fig 3.11 (a), produces a binary image.
• The second approach, based on the transformation shown in Fig 3.11 (b),
brightens the desired range of gray levels but preserves gray levels
unchanged.
• Fig 3.11 (c) shows a gray scale image, and fig 3.11 (d) shows the result of
using the transformation in Fig 3.11 (a).
2500
2000
1500
1000
500
0
0 50 100 150 200
3.5
2.5
1.5
0.5
6000
5000
4000
3000
2000
1000
Over-exposed image
x
Suppose h(t) is the histogram (pdf) s( x) h(t )
t 0
x
0 L
http://en.wikipedia.org/wiki/Inverse_transform_sampling
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019
46
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 47
Image Enhancement: Histogram
Based Methods
What is the histogram of a digital image?
The function p(rk) represents the fraction of the total number of pixels with
gray Jeeva@ASE,Blr
value rk.- INtensity Tranformations 8/22/2019 48
Histogram provides a global description of the appearance of
the image.
Pr( R rk ) p(rk )
Dark image
We consider the gray values in the input image and output
image as random variables in the interval [0, 1].
dr
pout ( s) pin (r )
ds r T 1 ( s )
One way to enhance the image is to design a transformation
T(.) such that the gray values in the output is uniformly
distributed in [0, 1], i.e. pout (s) 1, 0 s 1
r
s T (r ) pin (w)dw, 0 r 1
0
Note that this is the cumulative distribution function (CDF) of pin (r) and
satisfies the previous two conditions.
ds
pin (r )
dr
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 57
Therefore, the output histogram is given by
1
pout ( s ) pin (r ) 1r T 1 ( s ) 1, 0 s 1
pin (r ) r T 1 ( s )
nk
pin (rk ) 0 rk 1 0 k L 1
n
L: Total number of gray levels
k
sk T (rk ) pin (rj ) 0 k L 1
j 0
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 59
Example:
NB:Jeeva@ASE,Blr
The gray values in output are also (0, 1/7, 2/7, …, 1).
- INtensity Tranformations 8/22/2019 60
# pixels Fraction
of #
pixels
# pixels
Gray values
Note that the histogram of output image is only approximately, and not exactly,
uniform. This should not be surprising, since there is no result that claims
uniformity in the discrete case.
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 64
Example Original image and its histogram
Goal
Derive a point operation, H(r), that maps the input image into an output
image that has the user-specified histogram.
z=H(r) = G-1(v=s=T(r))
If the desired output image were available, then the following
transformation would generate an image with uniform density:
z
V G( z ) pout (w)dw ,
Jeeva@ASE,Blr - INtensity Tranformations 0 z 1 8/22/2019 (**)
72
0
From the gray values nwe can obtain the gray values z by
using the inverse transformation, z G-1(v)
k
sk T (rk ) pin (rj ) 0 k L 1
j 0
k
vk G( zk ) pout ( z j ) sk 0 k L 1
j 0
In practice, this is not usually the case (i.e., ) zk G(zk) is not one-to-one)
and we assign gray values to match the given histogram, as closely as
possible.
(1) Equalize input image to get an image with uniform gray values,
using the discrete equation:
k
sk T (rk ) pin (rj ) 0 k L 1
j 0
k
vk G( zk ) pout ( z j ) sk 0 k L 1
j 0
1 1
(3)
z G ( v=s) z G [T ( r )]
# pixels
Gray
value
Jeeva@ASE,Blr - INtensity Tranformations 8/22/2019 76
It is desired to transform this image into a new image, using a transformation
Z=H(r)= G-1[T(r)], with histogram as specified below:
# pixels
Gray values
G-1(0) = ?
G-1(1/7) = 3/7
G-1(2/7) = 4/7
G-1(3/7) = ?
G-1(4/7) = ?
G-1(5/7) = 5/7
G-1(6/7) = 6/7
G-1(1) = 1
Again, the actual histogram of the output image does not exactly but only
approximately matches with the specified histogram. This is because we are
dealing with discrete histograms.