Digital Image Processing
Image
Enhancement
Part IV
Nonlinear Filtering
• Nonlinear Filters
– Cannot be expressed as convolution
– Cannot be expressed as frequency shaping
• “Nonlinear” Means Everything (other than linear)
– Need to be more specific
– Often heuristic
– We will study some “nice” ones
Impulsive (Salt & Pepper) Noise
• Definition
– Each pixel in an image has a probability pa or pb of being
contaminated by a white dot (salt) or a black dot (pepper)
X: noise-free image, Y: noisy image
255 with probability pa
noisy pixels
Y (m, n) = 0 with probability pb
X (m, n) clean pixels
with probability 1 - pa - pb
add salt & pepper noise
Order-Statistics Filters
nonlinear spatial filters
response is based on ordering (ranking) the
pixels contained in the image area encompassed
by the filter
replacing of the center pixel with the value
determined by the ranking result
Median Filtering
Median filter
replaces the pixel value by the median value in the
neighborhood
The principal function is to force distinct gray level
points to be more like their neighbors.
excellent noise-reduction capabilities with less blurring
than linear smoothing filters
effective for impulse noise (salt-and-pepper noise)
Min: Set the pixel value to the minimum
in the neighbourhood
Max: Set the pixel value to the maximum
in the neighbourhood
cf.) max filter → R = max {zk | k = 1,2,…,9}
min filter → R = min {z | k = 1,2,…,9}
Order-Statistics Filters
– Given a set of numbers x = {x1 , x2 , , x2 M +1} max
value
Denote the OS as xOS = {x(1) , x( 2 ) , , x( 2 M +1) }
such that x(1) ≤ x( 2 ) ≤ ≤ x( M +1) ≤ ≤ x( 2 M +1)
min value middle value
Median{x1 , x2 , , x2 M +1} = x( M +1)
• Applying Median Filters
to Images
– Use sliding windows
(similar to spatial linear filters)
– Typical windows:
3x3, 5x5, 7x7, other shapes ……
Median Filters
original noisy (pa = pb = 0.1)
median filtered 3x3 window median filtered 5x5 window
From MATLAB sample images
Iterative Median Filters
• Idea: repeatedly apply median filters
1 time
2 times
3 times
From [Gonzalez & Woods]
Switching Median Filters
• Motivation
– Regular median filters change both “bad” and “good” pixels
• Idea
– Detect/classify “bad” and “good” pixels
– Filter “bad” pixels only
From [Wang & Zhang]
Switching Median Filters
original noisy (pa = pb = 0.1)
regular 5x5 median filtered switching 5x5 median filtered
From MATLAB sample images
Order Statistics (OS) Filters
• Recall Order Statistics:
For x = {x1 , x2 , , x2 M +1}
OS xOS = {x(1) , x( 2 ) , , x( 2 M +1) }
such that x(1) ≤ x( 2 ) ≤ ≤ x( M +1) ≤ ≤ x( 2 M +1)
• OS filter: General Form
2 M +1 2 M +1
OS {x1 , x2 , , x2 M +1} = ∑w x
i =1
i (i )
where ∑w
i =1
i =1
• Special Cases
Min{x1 , x2 , , x2 M +1} = x(1) {wi } = {1,0, 0, ,0}
Max{x1 , x2 , , x2 M +1} = x( 2 M +1) {wi } = {0,0, 0, ,1}
(M+1)-th
Median{x1 , x2 , , x2 M +1} = x( M +1) {wi } = {0,0, 1, ,0}
Order Statistics (OS) Filters
• Note: An OS Filter is Uniquely Defined by {wi}
• Example 1: {wi } = {0, ,1 / 4,1 / 2,1 / 4, ,0}
M-th (M+1)-th (M+2)-th
then OS {x1 , x2 , , x2 M +1} = 0.25 x( M ) + 0.5 x( M +1) + 0.25 x( M + 2 )
• Example 2: {wi } = {1,1, ,1} /(2 M + 1)
2 M +1
1
then OS {x1 , x2 , , x2 M +1} = ∑i =1 2M + 1
x(i )
= Mean{x(i ) , i = 1, ,2 M + 1} = Mean{xi , , i = 1, ,2 M + 1}
Examples
• A 4x4 grayscale image is given by
5 6 7 8 impulse?
0 6 7 8
5 6 15 8
impulse?
5 6 7 8
1) Filter the image with a 3x3 median filter, after zero-
padding at the image borders
0 0 0 0 0 0
5 6 7 8 0 5 6 7 8 0 median 0 5 6 0
0 6 7 8 zero-padding 0 0 6 7 8 0 filtering 5 6 7 7
5 6 15 8 0 5 6 15 8 0 5 6 7 7
5 6 7 8 0 5 6 7 8 0 0 5 6 0
0 0 0 0 0 0
Examples
2) Filter the image with a 3x3 median filter, after replicate-
padding at the image borders
5 5 6 7 8 8
5 6 7 8 replicate 5 5 6 7 8 8 median 5 6 7 8
0 6 7 8 -padding 0 0 6 7 8 8 filtering 5 6 7 8
5 6 15 8 5 5 6 15 8 8 5 6 7 8
5 6 7 8 5 5 6 7 8 8 5 6 7 8
5 5 6 7 8 8
impulse cleaned!
Examples
3) Filter the image with a 3x3 OS filter, after replicate-
padding at the image borders. The weighting factors of
the OS filter are given by
{wi | i = 1, …, 9} = {0, 0, 0, ¼, ½, ¼, 0, 0, 0}
5 5 6 7 8 8
5 6 7 8 replicate 5 5 6 7 8 8 OS 5 6 7 8
0 6 7 8 -padding 0 0 6 7 8 8 filtering 5 6 7.25 8
5 6 15 8 5 5 6 15 8 8 5 6 7.25 8
5 6 7 8 5 5 6 7 8 8 5 6 7.25 8
5 5 6 7 8 8
Gradient
the term gradient is used for a gradual blend of colour which can
be considered as an even gradation from low to high values
At each image point, the gradient vector points in the direction of
largest possible intensity increase,
the length of the gradient vector corresponds to the rate of
change in that direction.
Two types of gradients, with blue arrows to indicate the direction
of the gradient
Sobel operators
Represents a rather inaccurate approximation of
the image gradient
The operator calculates the gradient of the image
intensity at each point
Giving the direction of the largest possible
increase from light to dark and the rate of change
in that direction
The result therefore shows how "abruptly" or
"smoothly" the image changes at that point
Image Sharpening based on First-Order Derivatives
For function f ( x, y ), the gradient of f at coordinates ( x, y )
is defined as
∂f
g x ∂x
∇f ≡ grad( f ) ≡ =
g y ∂f
∂y
The magnitude of vector ∇f , denoted as M ( x, y )
Gradient Image M ( x, y=
) mag(∇f =
) gx2 + g y2
18
Image Sharpening based on First-Order Derivatives
The magnitude of vector ∇f , denoted as M ( x, y )
M ( x, y=
) mag(∇f =
) gx2 + g y2
M ( x, y ) ≈| g x | + | g y |
z1 z2 z3
M ( x, y ) =| z8 − z5 | + | z6 − z5 |
z4 z5 z6
z7 z8 z9
19
Image Sharpening based on First-Order Derivatives
Roberts Cross-gradient Operators
M ( x, y ) ≈| z9 − z5 | + | z8 − z6 |
Sobel Operators
M ( x, y ) ≈| ( z7 + 2 z8 + z9 ) − ( z1 + 2 z2 + z3 ) |
z1 z2 z3 + | ( z3 + 2 z6 + z9 ) − ( z1 + 2 z4 + z7 ) |
z4 z5 z6
z7 z8 z9
20
Image Sharpening based on First-Order Derivatives
21
Example
3/23/2019 22
Sobel Example
Grayscale
image of a
brick wall & a
bike rack
scale image
of a brick wall
& a bike rack
Combining Spatial Enhancement
Methods
Successful image
enhancement is
typically not achieved
using a single operation
Rather we combine a
range of techniques in
order to achieve a final
result
This example will focus
on enhancing the bone
scan to the right
Combining Spatial Enhancement
Methods
(a)
Laplacian filter of
bone scan (a)
(b)
Sharpened version of
bone scan achieved (c)
by subtracting (a)
and (b) Sobel filter of bone
scan (a) (d)
Combining Spatial Enhancement
Methods Result of applying a (h)
power-law trans. to
Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Sharpened image (g)
which is sum of (a)
and (f) (g)
The product of (c)
and (e) which will be (f)
used as a mask
(e)
Image (d) smoothed with
a 5*5 averaging filter
Combining Spatial Enhancement
Methods
Compare the original and final images
Images taken from Gonzalez & Woods, Digital Image Processing (2002)
assignments
Chapter 3
1, 6, 10, 12, 18, 22, 23.
Q1
• A 4×4, 4bits/pixel original image is given by
• (a) Apply histogram equalization to the image
(round the resulting image pixels to integers).
• Show your work and sketch the resulting
image.
• (b) Sketch the histograms of the original
image and the histogram-equalized image.
• (c) Compute the mean absolute error (MAE),
the mean squared error (MSE)
Q2_cont
Q3
A 4×4 gray-scale original image passes
through the spatial linear shift-invariant
filters, Compute Filtered Image