Spatial Filtering
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
The result is the sum of
products of the mask
w(-1,-1) w(-1,0) w(-1,1) coefficients with the
f(x-1,y-1)
f(x-1,y)
f(x-1,y+1)
corresponding pixels
w(0,-1) w(0,0) w(0,1)
f(x,y-1)f(x,y)f(x,y+1) directly under the mask
w(1,-1) w(1,0) w(1,1) Mask coefficients
f(x+1,y-1)
f(x+1,y)
f(x+1,y+1) w(-1,-1) w(-1,0) w(-1,1)
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 w1 w2 w3
i 1
9 w4 w5 w6
R w1 z1 w2 z2 ... w9 z9 wi zi w7 w8 w9
i 1
Where the w’s are mask coefficients, the z’s 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 1 1 1 2 1
1 1
1 1 1 2 4 2
9 16
1 1 1 1 2 1
1 1 1 1 1
1 1 1 1 1
1
1 1 1 1 1
?
25
1 1 1 1 1
1 1 1 1 1
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 b
w(s, t ) f ( x s, y t )
g ( x, y ) s at b
a b
w(s, t )
s at b
Result of Smoothing Linear Filters
Original Image
• Corp region of
neighborhood
10 15 20
• Sort the values of
20 100 20 the pixel in our
region
20 20 25
• In the MxN mask
the median is MxN
10, 15, 20, 20, 20, 20, 20, 25, 100 div 2 +1
5th
Result of median filter
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).
x 2
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
second 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.
• The1stresponse
make thickatedge
andand
around thethin
2nd make point is much
edge
stronger for the 2nd- than 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
f 2
f
f 2 2
2
x y
Discrete form of derivative
f(x,y-1)
f(x,y) 2 f
f ( x, y 1) f ( x, y 1) 2 f ( x, y)
y 2
f(x,y+1)
2-Dimentional Laplacian
• The digital implementation of the 2-Dimensional
Laplacian is obtained by summing 2 components
2
f 2
f
2 f 2 2
x x
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
1
Laplacian
0 1 0 1 1 1
1 -4 1 1 -8 1
0 1 0 1 1 1
1 0 1
0 -4 0
1 0 1
Laplacian
0 -1 0 -1 -1 -1
-1 4 -1 -1 8 -1
0 -1 0 -1 -1 -1
-1 0 -1
0 4 0
-1 0 -1
Implementation
Filtered = Conv(image,mask)
Implementation
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)
0 -1 0 -1 -1 -1
-1 5 -1 -1 9 -1
0 -1 0 -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 )
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)
0 -1 0 -1 -1 -1
-1 A+4 -1 -1 A+8 -1
0 -1 0 -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
G y
y
Gradient
• The magnitude of this vector is given by
Gy 1
-1
Robert’s Method
• The simplest approximations to a first-order
derivative that satisfy the conditions stated in that
section are
z4 z5 z6 f ( z9 z5 ) 2 ( z8 z6 ) 2
z7 z8 z9 f z9 z5 z8 z6
Robert’s Method
• These mask are referred to as the Roberts
cross-gradient operators.
-1 0 0 -1
0 1 1 0
Sobel’s Method
-1 -2 -1 -1 0 1
0 0 0 -2 0 2
1 2 1 -1 0 1
Homework
• ลองนำภำพสีมำหำ sharpening โดยใช ้ filter
– Laplacian
– High-boost with laplacian
– Gradient
– Robert
-1 -2 -1 -1 -2 -1
– Sobel
-2 12 -2 -2 -12 -2
– my mask
-1 -2 -1 -1 -2 -1