Image Enhancement in Spatial Domain
Spatial domain process on images can be
described as
g
(
x, y
) =
T
[
f
(
x, y
)]
◦
where
f
(
x,y
) is the input image,
g
(
x,y
) is the
output image,
T
is an operator
◦
T
operates on the neighbors of (
x, y
)
a square or rectangular sub

image centered at (
x,y
)
to yield the output g(
x, y
)
.
The simplest form of
T
is the neighborhood
of size 1
1.
g
depends on the value of
f
at (
x, y
) which
is a
gray level transformation
as
s =
T
(r)
◦
where r and s are the gray

level of
f(x, y)
and
g(x,
y)
at any point (
x, y
).
◦
Enhancement of any point depends on that point
only.
Point processing
Larger neighborhood provides more
flexibility.
◦
Mask processing
or
filtering
Three basic functions used in image
enhancement
◦
Linear (negative and identity transformation)
s
=
L

1

r
◦
Logarithmic (log and inverse log)
s
=
c
log
(1
+
r)
◦
Power law (
n
th power and
n
th root transformation)
s
=
cr
or
s
=
c(r+
)
correction
◦
The CRT devices have an intensity

to

voltage
response which is a power function.
◦
ranges from 1.8 to 2.5
◦
Without
correction
, the monitor output will
become darker than the original input.
Piecewise

Linear Transformation Functions
◦
Contrast stretching
The histogram of a digital image with
gray

levels in the range [0,
L

1] is a
discrete function
h
(
r
k
)
= n
k
where
r
k
is the
k
th level and
n
k
is the number of pixels
having the gray

level
r
k
.
A normalized histogram
h
(
r
k
)
=n
k
/n
,
n
is
the total number of pixels in the image.
Histogram equalization
is to find a
transformation
s
=
T
(
r
)
0
r
1
that
satisfies the following conditions:
◦
T
(
r
) is single

valued and monotonically
increasing in the interval 0
r
1
◦
0
T
(
r
)
1 for 0
r
1
◦
T
(
r
) is single

valued so that its inverse function
exist.
The gray

level in an image may be viewed as a
random variable, so we let
p
r
(
r
) and
p
s
(
s
)
denote
the probability density function of random
variables
r
and
s
.
If
p
r
(
r
)
and
T
(
r
)
are known and
T

1
(
s
) is single

valued and monotonically increased function
then
Assume the transformation function as
where
w i
s a dummy variable,
s = T
(
r
)
is a cumulative distribution function
(CDF) of the random variable
r
.
r
r
dw
w
p
r
T
s
0
)
(
)
(
ds
dr
r
p
s
p
r
s
)
(
)
(
Proof
For discrete case
p
r
(r
k
) = n
k
/n
for
k
= 0,1….
L

1
The discrete version of the transformation
function is
s
k
= T
(
r
k
)
=
Advantage:
◦
automatic, without the need for parameter
specifications.
k
j
k
j
j
j
n
n
r
p
0
0
)
(
Given the input image with
p
r
(
r
), and the
specific output image with
p
z
(
z
), find the
transfer function between the
r
and
z
.
Let
s = T
(
r
)
=
Define a random variable z with the
property
G
(
z
)
= = s
From the above equations
G
(
z
)
= T
(
r
) we
have
z = G

1
(
s
)
= G

1
[
T
(
r
)]
r
r
dw
w
p
0
)
(
z
z
dt
t
p
0
)
(
For discrete case:
From given histogram
p
r
(r
k
), k
=0, 1,….
L

1
s
k
=
T
(
r
k
) =
From given histogram
p
z
(
z
i
)
, i
=0, 1,…
L

1
v
k
=
G(z
k
)
=
=
s
k
Finally, we have
G
(
z
k
)
= T
(
r
k
), and
z
k
=G

1
(
s
k
)
=G

1
[
T
(
r
k
)]
k
j
k
j
j
j
n
n
r
p
0
0
)
(
k
i
i
z
z
p
0
)
(
1.
Obtain the histogram of each given image.
2.
Pre

compute a mapped level
s
k
for each level
r
k
.
3.
Obtain the transformation function
G
from
given
p(z)
4.
Precompute
z
k
for each value
s
k
using
iterative scheme as follows:
1.
To find
z
k
= G

1
(s
k
) = G

1
(v
k
)
, however, it may not
exist such
z
k
.
2.
Since we are dealing with integer, the closest we
can get to satisfying
G(z
k
)
–
s
k
= 0
5.
For each pixel in the original image, if the
value of that pixel is
r
k
,
map this value to its
corresponding levels
s
k
; then map level
s
k
into the final level
z
k
.
Spatial filtering: using a filter kernel
( which is a subimage,
w(x, y)
) to operate
on the image
f(x,y)
.
The response R of the pixel (x, y) after
filtering is
R = w(

1,

1)f(x

1, y

1) +w(

1, 0)f(x

1,
y)+….+w(0, 0)f(x, y)+….+w(1, 0)f(x+1, y)+w(1,
1)f(x+1, y+1)
The output image
g(x,y)
is:
a
a
s
b
b
t
t
y
s
x
f
t
s
w
y
x
g
)
,
(
)
,
(
)
,
(
9
1
9
9
1
1
.......
i
i
i
z
w
z
w
z
w
R
3.6 Smoothing Spatial Filters
Weighted Averaging
a
a
s
b
b
s
a
a
s
b
b
s
t
s
w
t
y
s
x
f
t
s
w
y
x
g
)
,
(
)
,
(
)
,
(
)
,
(
Median Filter
◦
The response is based on ordering (ranking) the
pixels contained in the image area encompassed
by the filter, and then replacing the value of the
center pixel with the value determined by the
ranking result
For certain noise, such as salt

and

pepper
noise, median filter is effective.
Image averaging
–
low

pass filtering
–
image
blurring
–
spatial integration
Image sharpening
–
high

pass filtering
–
spatial differentiation.
◦
It enhances the edges and the other discontinuities
◦
First order difference is
f/
x = f
(
x+1, y
)

f
(
x, y
)
f/
y = f
(
x, y+1
)

f
(
x, y
)
◦
Second order difference
2
f/
x
2
= f
(
x+1, y
)
+ f
(
x

1, y
)

2f
(
x, y
)
Isotropic filter, rotational invariant

Laplacian
2
f =
2
f/
x
2
+
2
f/
y
2
2
f = [
f
(
x
+1
,y
)
+f
(
x

1
,y
)
+f
(
x, y
+1)
+f
(
x, y

1)]

4
f(x,y)
Image enhancement
g
(
x,y
)
=f
(
x,y
)
2
f
(
x,y
)
g
(
x,y
)
=
f
(
x,y
) +
2
f
(
x,y
)
Unsharp masking
f
s
(
x,y
)
=f
(
x,y
)

f*
(
x,y
)
,
where f*
(
x,y
)
is the blurred image.
High boost filtering
f
hb
(
x,y
)=
Af
(
x,y
)

f*
(
x,y
)=(
A

1
)
f
(
x,y
)+
f
(
x,y
)

f*
(
x,y
)
=(
A

1
)
f
(
x,y
)+
f
s
(
x,y
)
◦
Using Laplacian
f
hb
(
x,y
)=
Af
(
x,y
)
2
f
(
x,y
)
f
hb
(
x,y
)=
Af
(
x,y
)
+
2
f
(
x,y
)
Shapening
的結果可能會有負值；
要做
rescaling
把灰階的範圍調回
0~255
•
找出最小值
t
；如果
t
<0
，把所有
的像素加上

t

。
•
找出最大值
M
：如果
M
>255
，
重新計算每一點灰階
p
；
p
’=(
p
/
M
)x255
p
’
代表最後的灰階值。
f
(
x,y
)
=
[
G
x
, G
y
]
=
[
f/
x
,
f/
y
]
f
(
x,y
)
=
mag (
f
)
=
[
G
x
2
, G
y
2
]
1/2
=
[(
f/
x
)
2
+(
f/
y
)
2
]
1/2
Robert operator
G
x
=
f/
x=z
9

z
5
G
y
=
f/
y
=z
8

z
6
f
(
x,y
)
=
[(
z
9

z
5
)
2
, (z
8

z
6
)
2
]
1/2
=

z
9

z
5
+z
8

z
6

Sobel operator
f
(
x,y
)=
z
7
+
2z
8
+
z
9
)

(
z
1
+
2z
2
+
z
3
)
+(z
3
+2z
6
+z
9
)

(z
1
+2z
4
+z
7
)
3.8 Combining Spatial Enhancement Methods
Comments 0
Log in to post a comment