2. OVERVIEW
Introduction to digital image processing
Applications
Edge Detection techniques
Discrete Fourier Transform
Discrete Sine Transform
Discrete Cosine Transform
Discrete wavelet Transform
3. What is Digital
image Processing?
IT IS A FIELD OF COMPUTER SCIENCE WHICH DEALS
WITH THE PROCESSING OF DIGITAL IMAGE BY A
MEANS OF DIGITAL COMPUTER.
4. What is a Digital Image?
An image may be defined as 2-d function f(x,y)
where x and y are spatial co-ordinates and the
amplitude of f at any pair of co-ordinates(x,y)
and the intensity values of image at that point.
When x,y and the intensity values of f are all finite,
discrete quantities, we call the image a Digital
Image
5. Definition of Edges
Edges are significant local changes of intensity in
an image.
6. Goal of Edge Detection
Produce a line “drawing” of a scene from an
image of that scene.
7. Why is Edge detection
Useful?
Important features can be extracted from the
edges of an image (e.g., corners, lines, curves).
These features are used by higher-level computer
vision algorithms (e.g., recognition).
9. Modeling Intensity
Changes
Step edge: the image intensity abruptly changes
from one value on one side of the discontinuity to
a different value on the opposite side.
10. Ramp edge: a step edge where the intensity change is not
instantaneous but occur over a finite distance.
11. Ridge edge: the image intensity abruptly changes value
but then returns to the starting value within some short
distance (i.e., usually generated by lines).
12. Roof edge: a roof edge where the intensity change is not
instantaneous but occur over a finite distance (i.e., usually
generated by the intersection of two surfaces).
13. Main steps in Edge Detection.
(1) Smoothing: suppress as much noise as possible, without
destroying true edges.
(2) Enhancement: apply differentiation to enhance the
quality of edges (i.e., sharpening).
(3) Thresholding: determine which edge pixels should be
discarded as noise and which should be retained (i.e.,
threshold edge magnitude).
(4) Localization: determine the exact edge location.
14. Edge Detection Using
Derivatives
Often, points that lie on an edge
are detected by:
(1) Detecting the local maxima
or minima of the first derivative.
(2) Detecting the zero-crossings
of the second derivative.
1st
derivat
ive
2nd
derivat
ive
15. Edge Detection Using First
Derivative (Gradient)
The first derivate of an image can be computed
using the gradient:
16. Gradient Representation
The gradient is a vector which has magnitude and
direction:
Magnitude: indicates edge strength.
Direction: indicates edge direction.
i.e., perpendicular to edge direction
26. Fourier Series and Fourier Transform
A Brief History
Jean Baptiste Joseph Fourier was born in 1768 in
Auxxerra.
The contribution for which he is most
remembered was outlined in a memoir in 1807
and published in 1822 in his books.
His book La Theorie de la Chaleur(The Analytic
Theory of Heat) was translated into 55years later
by freeman.
27. His contribution in this field states that any periodic functions
can be expressed as the sum of sines and /or cosines of
different frequencies, each multiplied by a different
coefficients.
It does not matter how complicated the function is if it satisfies
some mild mathematical conditions it can be represented by
such a sum.
However this idea was met with skepticism.
28. The function that are not periodic can also be expressed as a
integral of sines or cosines multiplied by a weighing function.
This formulation is called FOURIER TRANSFORM.
Its utility is even greater than the Fourier series in many
theoretical and applied discipline.
Both have the characteristic of reconstruction means the
original function can be obtained again by applying the
inverse process.
29. The initial applications of Fourier's ideas was in the field of heat
diffusion
During the past century and especially in the past 50 years
entire industries and academic disciplines have flourished as a
result of Fourier’s ideas.
In 1960 the Fast Fourier Transform(FFT) discovery revolutionized
the field of signal processing
30. Discrete Fourier Transform
In mathematics, the discrete Fourier
transform (DFT) converts a finite list of equally
spaced samples of a function into the list
of coefficients of a finite combination
of complex sinusoids, ordered by their
frequencies, that has those same sample values.
It can be said to convert the sampled function
from its original domain (often time or position
along a line) to the frequency domain.
The input samples are complex numbers (in
practice, usually real numbers), and the output
coefficients are complex as well.
31. The DFT is the most important discrete transform, used to
perform Fourier analysis in many practical applications. In
digital signal processing, the function is any quantity
or signal that varies over time, such as the pressure of a sound
wave, a radio signal, or daily temperature readings, sampled
over a finite time interval (often defined by a window
function).
In image processing, the samples can be the values
of pixels along a row or column of a raster image
32. The DFT of a vector x of length n is another vector y of length
n:
where ω is a complex nth root of unity:
This notation uses i for the imaginary unit, and p and j for
indices that run from 0 to n–1. The indices p+1 and j+1 run from
1 to n, corresponding to ranges associated with MATLAB
vectors.
33. DISCRETE SINE TRANSFORM
In mathematics, the discrete sine transform (DST)
is a Fourier-related transform similar to the discrete
Fourier transform (DFT), but using a
purely real matrix.
It is equivalent to the imaginary parts of a DFT of
roughly twice the length, operating on real data
with odd symmetry (since the Fourier transform of
a real and odd function is imaginary and odd).
where in some variants the input and/or output
data are shifted by half a sample.
34. Syntax
y=dst(x)
y=dst(x,n)
Description:
The dst function implements the following equation:
35. y=dst(x) computes the discrete sine transform of the columns
of x. For best performance speed, the number of rows in x
should be 2m - 1, for some integer m.
y=dst(x,n) pads or truncates the vector x to length n before
transforming.
If x is a matrix, the dst operation is applied to each column.
The idst function implements the following equation
36. x=idst(y) calculates the inverse discrete sine transform of the
columns of y. For best performance speed, the number of
rows in y should be 2m - 1, for some integer m.
x=idst(y,n) pads or truncates the vector y to length n before
transforming.
If y is a matrix, the idst operation is applied to each column.
37. DISCRETE COSINE
TRANSFORM
A discrete cosine transform (DCT) expresses a
finite sequence of data points in terms of a sum of
cosine functions oscillating at
different frequencies.
DCTS are important to numerous applications in
science and engineering, from lossy
compression of audio
(e.g. MP3) and images (e.g. JPEG) (where small
high-frequency components can be discarded),
to spectral methods for the numerical solution
of partial differential equations.
39. Where
N is the length of x, and x and y are the same size. If x is a matrix, dct
transforms its columns. The series is indexed from n = 1 and k = 1 instead of
the usual n = 0 and k = 0 because MATLAB vectors run from 1 to N instead
of from 0 to N- 1.
y = dct(x,n) pads or truncates x to length n before transforming.
The DCT is closely related to the discrete Fourier transform. You can often
reconstruct a sequence very accurately from only a few DCT
coefficients, a useful property for applications requiring data reduction.
42. Discrete Wavelet
Transform(DWT)
In numerical analysis and functional analysis,
a discrete wavelet transform (DWT) is any wavelet
transform for which the wavelets are discretely
sampled. As with other wavelet transforms, a key
advantage it has over Fourier transforms is
temporal resolution: it captures both
frequency and location information (location in
time).
The Wavelet Transform provides a time-frequency
representation of the signal.
43. Wavelet transform decomposes a signal into a set
of basis functions.
These basis functions are called wavelets
Wavelets are obtained from a single prototype
wavelet y(t) called mother wavelet by dilations
and shifting:
where a is the scaling parameter and b is the
shifting parameter
44. Syntax
[cA,cD] = dwt(X,'wname')
[cA,cD] = dwt(X,'wname','mode',MODE)
Description
The dwt command performs a single-level one-dimensional
wavelet decomposition with respect
to either a particular wavelet or particular
wavelet decomposition filters (Lo_D and Hi_D)
that you specify
45. [cA,cD] = dwt(X,'wname') computes the
approximation coefficients vector cA and detail
coefficients vector cD, obtained by a wavelet
decomposition of the vector X. The string 'wname'
contains the wavelet name.
[cA,cD] = dwt(X,Lo_D,Hi_D) computes the wavelet
decomposition as above, given these filters as input:
Lo_D is the decomposition low-pass filter.
Hi_D is the decomposition high-pass filter.