Professional Documents
Culture Documents
Digital Image Processing: Image Enhancement 3 (Spatial Filtering)
Digital Image Processing: Image Enhancement 3 (Spatial Filtering)
Image Enhancement 3
(Spatial Filtering)
After McNamee
Neighbourhood Operations
•Neighbourhood operations simply operate
on a larger neighbourhood of pixels than
point operations Origin x
•Neighbourhoods are
mostly a rectangle
around a central pixel
(x, y)
•Any size rectangle Neighbourhood
y y
After McNamee
The Spatial Filtering Process
Origin x
a b c r s t
d
g
e
h
f
i
* u
x
v
y
w
z
Original Image Filter
Simple 3*3 Pixels
e 3*3 Filter
Neighbourhood
eprocessed = v*e +
r*a + s*b + t*c +
u*d + w*f +
y Image f (x, y) x*g + y*h + z*i
The above is repeated for every pixel in the original
image to generate the filtered image
After McNamee
Correlation & Convolution
•The filtering we have been talking about so far is
referred to as correlation with the filter itself
referred to as the correlation kernel
•Convolution is a similar operation, with just one
subtle difference
a b c r s t eprocessed = v*e +
d
f
e
g h
e
* u
x
v
y
w
z
z*a + y*b + x*c +
w*d + u*e +
t*f + s*g + r*h
Original Image Filter
Pixels
•For symmetric filters it makes no difference
After McNamee
Spatial Filtering: Equation Form
a b
w(s, t ) f ( x s, y t )
Images taken from Gonzalez & Woods, Digital Image Processing (2002)
g ( x, y )
s at b
After McNamee
Smoothing Spatial Filters
•One of the simplest spatial filtering
operations we can perform is a smoothing
operation
– Simply average all of the pixels in a
neighbourhood around a central value
– Especially useful 1
/9 1
/9 1
/9
in removing noise
from images Simple
1
/9 1
/9 1
/9
– Also useful for averaging
highlighting gross 1
/9 1
/9 1
/9 filter
detail
After McNamee
Smoothing Spatial Filtering
Origin x
104 100 108 1
/9 1
/9 1
/9
* /9 /9 /9
1 1 1
99 106 98
95 90 85 1
/9 1
/9 1
/9
1
/9 100
104 1
/9 108
1
/9
Original Image Filter
Simple 3*3 /9 106
1
99 1
/9 198
/9
3*3 Smoothing Pixels
Neighbourhood /9 190
1
95 /9 185
/9 Filter
e = 1/9*106 +
1
/9*104 + 1/9*100 + 1/9*108 +
1
/9*99 + 1/9*98 +
y Image f (x, y) 1
/9*95 + 1/9*90 + 1/9*85
= 98.3333
The above is repeated for every pixel in the
original image to generate the smoothedAfter
image
McNamee
Image Smoothing Example
•The image at the top left
Images taken from Gonzalez & Woods, Digital Image Processing (2002)
is an original image of
size 500*500 pixels
•The subsequent images
show the image after
filtering with an averaging
filter of increasing sizes
– 3, 5, 9, 15 and 35
•Notice how detail begins
to disappear
After McNamee
Weighted Smoothing Filters
•More effective smoothing filters can be
generated by allowing different pixels in the
neighbourhood different weights in the
averaging function
– Pixels closer to the
1
/16 2
/16 1
/16
central pixel are more
important
2
/16 4
/16 2
/16
– Often referred to as a 1
/16 2
/16 1
/16
weighted averaging
Weighted
averaging filter
After McNamee
Another Smoothing Example
•By smoothing the original image we get rid
Images taken from Gonzalez & Woods, Digital Image Processing (2002)
After McNamee
Averaging Filter Vs. Median Filter
Example
Images taken from Gonzalez & Woods, Digital Image Processing (2002)
x
123 127 128 119 115 130
After McNamee
Strange Things Happen At The Edges!
e e e
y Image f (x, y)
After McNamee
Strange Things Happen At The Edges!
(cont…)
•There are a few approaches to dealing with
missing edge pixels:
– Omit missing pixels
• Only works with some filters
• Can add extra code and slow down processing
– Pad the image
• Typically with either all white or all black pixels
– Replicate border pixels
– Truncate the image
– etc
After McNamee
Simple Neighbourhood Operations
Example
x
123 127 128 119 115 130
After McNamee