Spatial Filtering
Background
Filter term in Digital image
processing is referred to the
subimage
There are others term to call
subimage such as mask, kernel,
template, or window
The value in a filter subimage are
referred as coefficients, rather than
pixels.
Basics of Spatial Filtering
The concept of filtering has its
roots in the use of the Fourier
transform for signal processing in
the so-called frequency domain.
Spatial filtering term is the filtering
operations that are performed
directly on the pixels of an image
Mechanics of spatial filtering
The process consists simply of
moving the filter mask from point
to point in an image.
At each point (x,y) the response of
the filter at that point is calculated
using a predefined relationship
Linear spatial
filtering
Pixels of image
w(-1,-1) w(-1,0) w(-1,1)
f(x-1,y-1)
f(x-1,y)
f(x-1,y+1)
w(0,-1)
w(0,0)
w(0,1)
w(1,-1)
w(1,0)
w(1,1)
f(x,y-1) f(x,y) f(x,y+1)
f(x+1,y-1)
f(x+1,y)
f(x+1,y+1)
The result is the sum of
products of the mask
coefficients with the
corresponding pixels
directly under the mask
Mask coefficients
w(-1,-1) w(-1,0) w(-1,1)
w(0,-1)
w(0,0)
w(0,1)
f ( x, y ) w( 1,1) f ( x 1, y 1) w( 1,0) f ( x 1, y ) w( 1,1) f ( x 1, y 1)
w(1,-1)
w(0,1) f ( x, y 1) w(0,0) f ( x, y ) w
(0,1) w(1,0)
f ( x, y w(1,1)
1)
w(1,1) f ( x 1, y 1) w(1,0) f ( x 1, y ) w(1,1) f ( x 1, y 1)
Note: Linear filtering
The coefficient w(0,0) coincides with
image value f(x,y), indicating that the
mask is centered at (x,y) when the
computation of sum of products takes
place.
For a mask of size mxn, we assume that
m-2a+1 and n=2b+1, where a and b
are nonnegative integer. Then m and n
are odd.
Linear filtering
In general, linear filtering of an
image f of size MxN with a filter
mask of size mxn is given by the
expression: a b
g ( x, y )
w(s, t ) f ( x s, y t )
s at b
Discussion
The process of linear filtering
similar to a frequency domain
concept called convolution
Simplify expression
mn
R w1 z1 w2 z 2 ... wmn z mn wi zi
9
i 1
R w1 z1 w2 z 2 ... w9 z9 wi zi
i 1
w1 w2 w3
w4 w5 w6
w7 w8 w9
Where the ws are mask coefficients, the zs are the value of
the image gray levels corresponding to those coefficients
Nonlinear spatial filtering
Nonlinear spatial filters also operate
on neighborhoods, and the mechanics
of sliding a mask past an image are
the same as was just outlined.
The filtering operation is based
conditionally on the values of the
pixels in the neighborhood under
consideration
Smoothing Spatial Filters
Smoothing filters are used for
blurring and for noise reduction.
Blurring is used in preprocessing
steps, such as removal of small
details from an image prior to object
extraction, and bridging of small gaps
in lines or curves
Noise reduction can be accomplished
by blurring
Type of smoothing filtering
There are 2 way of smoothing
spatial filters
Smoothing Linear Filters
Order-Statistics Filters
Smoothing Linear Filters
Linear spatial filter is simply the
average of the pixels contained in
the neighborhood of the filter mask.
Sometimes called averaging filters.
The idea is replacing the value of
every pixel in an image by the
average of the gray levels in the
neighborhood defined by the filter
mask.
Two 3x3 Smoothing Linear Filters
1
Standard average
16
Weighted average
5x5 Smoothing Linear Filters
25
?
Smoothing Linear Filters
The general implementation for
filtering an MxN image with a
weighted averaging filter of size
mxn is given by the expression
a
g ( x, y )
w(s, t ) f ( x s, y t )
s at b
w(s, t )
s at b
Result of Smoothing Linear Filters
Original Image
[3x3]
[5x5]
[7x7]
Order-Statistics Filters
Order-statistics filters are nonlinear
spatial filters whose 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.
Best-known median filter
Process of Median filter
Corp region of
neighborhood
10
15
20
Sort the values
20 100 20
of the pixel in
our region
20
20
25
In the MxN mask
the median is
10, 15, 20, 20, 20, 20, 20, 25, 100 MxN div 2 +1
5th
Result of median filter
Noise from Glass effect
Remove noise by median filter
Homework
smoothing filter
mask standard 3x3, 5x5, 7x7, 9x9
source code
median filter mask 3x3,
5x5,7x7,9x9 source code
100x100
filter
Sharpening Spatial Filters
The principal objective of
sharpening is to highlight fine
detail in an image or to enhance
detail that has been blurred, either
in error or as an natural effect of a
particular method of image
acquisition.
Introduction
The image blurring is accomplished
in the spatial domain by pixel
averaging in a neighborhood.
Since averaging is analogous to
integration.
Sharpening could be accomplished
by spatial differentiation.
Foundation
We are interested in the behavior of
these derivatives in areas of constant
gray level(flat segments), at the
onset and end of discontinuities(step
and ramp discontinuities), and along
gray-level ramps.
These types of discontinuities can be
noise points, lines, and edges.
Definition for a first derivative
Must be zero in flat segments
Must be nonzero at the onset of a
gray-level step or ramp; and
Must be nonzero along ramps.
Definition for a second derivative
Must be zero in flat areas;
Must be nonzero at the onset and
end of a gray-level step or ramp;
Must be zero along ramps of
constant slope
Definition of the 1st-order derivative
A basic definition of the first-order
derivative of a one-dimensional
function f(x) is
f
f ( x 1) f ( x)
x
Definition of the 2nd-order derivative
We define a second-order derivative as
the difference
2 f
f ( x 1) f ( x 1) 2 f ( x).
2
x
Gray-level profile
000123200226332233000000776553
7
6
5
4
3
2
1
0
Derivative of image profile
0 0 0 1 2 3 2 0 0 2 2 6 3 3 2 2 3 3 0 0 0 0 0 0 7 7 6 5 5 3
first
second
0 0 1 1 1-1-2 0 2 0 4-3 0-1 0 1 0-3 0 0 0 0 0-7 0-1-1 0-2
0-1 0 0-2-1 2 2-2 4-7 3-1 1 1-1-3 3 0 0 0 0-7 7-1 0 1-2
Analyze
The 1st-order derivative is nonzero
along the entire ramp, while the
2nd-order derivative is nonzero only
at the onset and end of the ramp.
1st make thick edge and 2nd make thin edge
The response at and around the
point is much stronger for the 2ndthan for the 1st-order derivative
The Laplacian (2nd order derivative)
Shown by Rosenfeld and Kak[1982] that
the simplest isotropic derivative
operator is the Laplacian is defined as
2
2
f
2
f 2 2
x
y
Discrete form of derivative
f(x-1,y)
f(x,y)
f(x+1,y)
2 f
f ( x 1, y ) f ( x 1, y ) 2 f ( x, y )
2
x
f(x,y-1)
f(x,y)
f(x,y+1)
2 f
f ( x, y 1) f ( x, y 1) 2 f ( x, y )
2
y
2-Dimentional Laplacian
The digital implementation of the 2Dimensional Laplacian is obtained by
2
2components
summing
2
f
2
f
x 2
2 f f ( x 1, y ) f ( x 1, y ) f ( x, y 1) f ( x, y 1) 4 f ( x, y )
1
1
-4
1
Laplacian
0
-4
-8
-4
Laplacian
0
-1
-1 -1 -1
-1
-1
-1
-1
-1 -1 -1
-1
-1
-1
-1
-1
Implementation
f ( x, y ) 2 f ( x, y ) If the center coefficient is negative
g ( x, y )
2
f
(
x
,
y
)
f ( x, y ) If the center coefficient is positive
Where f(x,y) is the original image
2 f ( x, y ) is Laplacian filtered image
g(x,y) is the sharpen image
Implementation
Implementation
Filtered = Conv(image,mask)
Implementation
filtered = filtered - Min(filtered)
filtered = filtered * (255.0/Max(filtered))
Implementation
sharpened = image + filtered
sharpened = sharpened - Min(sharpened )
sharpened = sharpened * (255.0/Max(sharpened ))
Algorithm
Using Laplacian filter to original
image
And then add the image result
from step 1 and the original image
Simplification
We will apply two step to be one mask
g ( x, y ) f ( x, y ) f ( x 1, y ) f ( x 1, y ) f ( x, y 1) f ( x, y 1) 4 f ( x, y )
g ( x, y ) 5 f ( x, y ) f ( x 1, y ) f ( x 1, y ) f ( x, y 1) f ( x, y 1)
-1
-1 -1 -1
-1
-1
-1
-1
-1 -1 -1
-1
Unsharp masking
A process to sharpen images consists of
subtracting a blurred version of an image
from the image itself. This process, called
unsharp masking, is expressed as
f s ( x, y ) f ( x, y ) f ( x, y )
Where f s ( x, y ) denotes the sharpened image obtained by
unsharp masking, and f ( x, y ) is a blurred version of f ( x, y )
High-boost filtering
A high-boost filtered image, fhb is defined
at any point (x,y) as
f hb ( x, y ) Af ( x, y ) f ( x, y ) where A 1
f hb ( x, y ) ( A 1) f ( x, y ) f ( x, y ) f ( x, y )
f hb ( x, y ) ( A 1) f ( x, y ) f s ( x, y )
This equation is applicable general and does not state
explicity how the sharp image is obtained
High-boost filtering and Laplacian
If we choose to use the Laplacian, then
we know fs(x,y)
Af ( x, y ) 2 f ( x, y ) If the center coefficient is negative
f hb
2
Af
(
x
,
y
)
f ( x, y ) If the center coefficient is positive
-1
-1
-1
-1
-1 A+4 -1
-1 A+8 -1
-1
-1
-1
-1
The Gradient (1st order derivative)
First Derivatives in image processing are
implemented using the magnitude of the
gradient.
The gradient of function f(x,y) is
f
Gx x
f
f
Gy
Gradient
The magnitude of this vector is given by
mag (f ) Gx2 G y2 Gx G y
Gx
-1
Gy
1
-1
This mask is simple, and no isotropic.
Its result only horizontal and vertical.
Roberts Method
The simplest approximations to a firstorder derivative that satisfy the
conditions stated in that section are
z1
z2
z3
Gx = (z9-z5) and Gy = (z8-z6)
z4
z5
z6
f ( z 9 z 5 ) 2 ( z 8 z 6 ) 2
z7
z8
z9
f z 9 z 5 z8 z 6
Roberts Method
These mask are referred to as the
Roberts cross-gradient operators.
-1
-1
Sobels Method
Mask of even size are awkward to apply.
The smallest filter mask should be 3x3.
The difference between the third and
first rows of the 3x3 mage region
approximate derivative in x-direction,
and the difference between the third
and first column approximate derivative
in y-direction.
Sobels Method
Using this
equation
f ( z7 2 z8 z9 ) ( z1 2 z 2 z3 ) ( z3 2 z6 z9 ) ( z1 2 z 4 z7 )
-1
-2
-1
-1
-2
-1
Homework
sharpening
filter
Laplacian
High-boost with laplacian
-1 -2 -1
-1 -2 -1
Gradient
-2 12 -2
-2 -12 -2
Robert
-1 -2 -1
-1 -2 -1
Sobel
my mask