0% found this document useful (0 votes)
70 views20 pages

Filters

The document discusses digital image filtering techniques. It introduces linear and nonlinear filters, covering averaging, Gaussian and median filters. It describes the convolution operation used in linear filtering and properties like separability. Template matching using normalized correlation is also covered.

Uploaded by

Isuhu Laushi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views20 pages

Filters

The document discusses digital image filtering techniques. It introduces linear and nonlinear filters, covering averaging, Gaussian and median filters. It describes the convolution operation used in linear filtering and properties like separability. Template matching using normalized correlation is also covered.

Uploaded by

Isuhu Laushi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Rutgers CS334

Digital Imaging and Multimedia

Filters

Ahmed Elgammal
Dept. of Computer Science
Rutgers University

Outlines

What are Filters


Linear Filters
Convolution operation
Properties of Linear Filters
Application of filters
Nonlinear Filter
Normalized Correlation and finding patterns in images
Sources:
Burger and Burge Digital Image Processing Chapter 6
Forsyth and Ponce Computer Vision a Modern approach

Rutgers CS334

What is a Filter
Point operations are limited (why)
They cannot accomplish tasks like sharpening or
smoothing

Smoothing an image by averaging


Replace each pixel by the average of its neighboring pixels
Assume a 3x3 neighborhood:

Rutgers CS334

In general a filter applies a function over the values of a small


neighborhood of pixels to compute the result
The size of the filter = the size of the neighborhood: 3x3, 5x5, 7x7, ,
21x21,..
The shape of the filter region is not necessarily square, can be a
rectangle, a circle
Filters can be linear of nonlinear

Rutgers CS334

Linear Filters: convolution

Averaging filter

Rutgers CS334

Types of Linear Filters

Computing the filter operation


The filter matrix H moves over the original image I to compute the
convolution operation
We need an intermediate image storage!
We need 4 for loops!
In general a scale is needed to obtain a normalized filter.
Integer coefficient is preferred to avoid floating point operations

Rutgers CS334

For a filter of size (2K+1) x (2L+1), if the image size is


MxN, the filter is computed over the range:

Another smoothing filter

Rutgers CS334

Integer coefficient

Ex: linear filter in Adobe photoshop

Rutgers CS334

Mathematical Properties of Linear


Convolution
For any 2D discrete signal, convolution is defined
as:

Properties
Commutativity
Linearity

(notice)
Associativity

Rutgers CS334

Properties
Separability

Types of Linear Filters

Rutgers CS334

Smoothing by Averaging vs. Gaussian


Flat kernel: all weights equal 1/N

Smoothing with a Gaussian


Smoothing with an
average actually doesnt
compare at all well with a
defocussed lens
Most obvious difference is
that a single point of light
viewed in a defocussed lens
looks like a fuzzy blob; but
the averaging process
would give a little square.

A Gaussian gives a good


model of a fuzzy blob

10

Rutgers CS334

An Isotropic Gaussian
The picture shows a
smoothing kernel
proportional to

(which is a reasonable model


of a circularly symmetric
fuzzy blob)

Smoothing with a Gaussian

11

Rutgers CS334

Gaussian smoothing
Advantages of Gaussian filtering
rotationally symmetric (for large filters)
filter weights decrease monotonically from central
peak, giving most weight to central pixels
Simple and intuitive relationship between size of and
the smoothing.
The Gaussian is separable

Advantage of seperability
First convolve the image with a one dimensional
horizontal filter
Then convolve the result of the first convolution
with a one dimensional vertical filter
For a kxk Gaussian filter, 2D convolution requires
k2 operations per pixel
But using the separable filters, we reduce this to
2k operations per pixel.

12

Rutgers CS334

Separability

1
2
1

11

18

18

11

2
1

18

65

18

1
=

= 6 + 20 + 10 = 36

= 4 + 8 + 6 = 18

=2 + 6 + 3 = 11

65

Advantages of Gaussians
Convolution of a Gaussian with itself is another
Gaussian
so we can first smooth an image with a small Gaussian
then, we convolve that smoothed image with another
small Gaussian and the result is equivalent to smoother
the original image with a larger Gaussian.
If we smooth an image with a Gaussian having sd
twice, then we get the same result as smoothing the
image with a Gaussian having standard deviation (2)

13

Rutgers CS334

Nonlinear Filters
Linear filters have a disadvantage when used for
smoothing or removing noise: all image structures
are blurred, the quality of the image is reduced.
Examples of nonlinear filters:
Minimum and Maximum filters

14

Rutgers CS334

Median Filter
Much better in removing noise and keeping the structures

15

Rutgers CS334

Weighted median filter

Linear Filters: convolution

16

Rutgers CS334

Convolution as a Dot Product


Applying a filter at some point can be seen as
taking a dot-product between the image and some
vector
Convoluting an image with a filter is equivalent to
taking the dot product of the filter with each image
window.
Window

weights
Window
weights

Original image

Filtered image

Largest value when the vector representing the image is


parallel to the vector representing the filter
Filter responds most strongly at image windows that looks
like the filter.
Filter responds stronger to brighter regions! (drawback)
Insight:
filters look like the effects they are intended to find
filters find effects they look like
Window

weights

Ex: Derivative of Gaussian used in edge detection looks


like edges

17

Rutgers CS334

Normalized Correlation
Convolution with a filter can be used to find templates in
the image.
Normalized correlation output is filter output, divided by
root sum of squares of values over which filter lies
Consider template (filter) M and image window N:

Window
Template

Original image

Filtered image
(Normalized
Correlation
Result)

Normalized Correlation

This correlation measure takes on values in the range [0,1]


it is 1 if and only if N = cM for some constant c
so N can be uniformly brighter or darker than the template,
M, and the correlation will still be high.
The first term in the denominator, M2 depends only on
the template, and can be ignored
The second term in the denominator, N2 can be
eliminated if we first normalize the grey levels of N so that
their total value is the same as that of M - just scale each
pixel in N by M/ N

18

Rutgers CS334

Positive responses

Zero mean image, -1:1 scale

Zero mean image, -max:max scale


Positive responses

Zero mean image, -1:1 scale

Zero mean image, -max:max scale


19

Rutgers CS334

Figure from Computer Vision for Interactive Computer Graphics, W.Freeman et al, IEEE Computer Graphics and Applications,
1998 copyright 1998, IEEE

20

You might also like