0% found this document useful (0 votes)
8 views59 pages

Chapter 10 Representation

The document discusses various techniques for digital image processing, focusing on image representation through segmentation, boundary-based, and region-based methods. It covers specific techniques such as chain code, differential chain code, polygon approximation, and descriptors like Euler number and eccentricity. Additionally, it touches on statistical texture descriptors derived from histograms to analyze texture in images.

Uploaded by

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

Chapter 10 Representation

The document discusses various techniques for digital image processing, focusing on image representation through segmentation, boundary-based, and region-based methods. It covers specific techniques such as chain code, differential chain code, polygon approximation, and descriptors like Euler number and eccentricity. Additionally, it touches on statistical texture descriptors derived from histograms to analyze texture in images.

Uploaded by

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

Digital Image Processing

Image Representation

Course Website: http://www.comp.dit.ie/bmacnamee


2
of
20

Representation
– The segmentation techniques yield data in
the form of pixels along a boundary or pixels
contained in a region.

– In order to make the computer understand


the objects present in the image, we must
have some proper description of the
segments so that these descriptions may be
matched against some knowledge present in the
computer
3
of
20

• The first operation after segmentation is we have


to find out a proper representation mechanism.
That is given a segment, how do I represent that
particular segment.

• One of the possible ways is the boundary based


representation
• Other possible way is region based
representation.
4
of
20

• If we are going for boundary based


representation and boundary based description,
then what we are interested in is mainly the
shape of the object.
• Whereas if we are also interested in the surface
property such as the color, texture and so on
then region based representation is used.
5
of
20
Boundary based representation
• If we are going for boundary based representation and
boundary based description, then what we are interested
in is mainly the shape of the object. The following are
boundary based representation techniques
• Chain Code
6
of
20
Chain Code
• Object boundary is simply set of boundary points.

• Once we move from one point on the object


boundary to the neighboring point in the same
object boundary; then I can have one of 8 possible
move if I use 8 connectivity

• So, I represent each of these moves by using this 8


distinct numerals.

• Task completes when I came back to starting point.


7
of
20
8
of
20
9
of
20
10
of
20

• We simply place grid over boundary points to get


discrete points.

• It also helps it in making scale invariant.

• According to scaling of object boundary we can


adjust grid spacing.

• So above code is translation and scaling invariant,


but it is not rotation invariant.
11
of
20
Why rotation invariant
12
of
20
Differential Chain code
• In order to make it rotation invariant, we use
differential chain code.

• Once I get the first order chain code that is chain


code as given state from this procedure, then I
take subsequent codes.

• We try to find out that if from the first code I have


to move to the second code, then how many
rotations let us say in the anticlockwise direction
I have to perform
13
of
20

• After rotation in last example, we got 2 different


chain codes.

• Code1: 0 0 6 6 4 4 2 2
• Code2: 7 7 5 5 3 3 1 1

• Now, try to find out that if from the first code I


have to move to the second code, then how
many rotations let us say in the anticlockwise
direction I have to perform
14
of
20

• Say 0 to 0 : no rotation=0
• Say 0 to 6 : 6 rotation =6……. And so on

• By repeating this procedure, we get differential chain


code.
15
of
20

hain code
ff er ential C
Di

hain code
ntial C
Differe

Chain code
Chain code
16
of
20

• Differential chain code is rotation invariant.

• In order to use it as a descriptor, instead of string


use it as a cycle.

• Use cycle with minimum value as a descriptor.

• It is known as a Shape Number of Boundary.


17
of
20
Shape Number

Use as a cycle
instead of
string

Use Minimum
value as a
descriptor.
18
of
20
Polygon Approximation
• Suppose, we are given with an arbitrary
boundary, what we want to do is this boundary
has to be represented or approximated by a
polygon following some criteria.

• this is a polygonal approximation which I have


shown in pink colour is a polygonal
approximation of this given boundary. In the next
slide.
19
of
20
20
of
20
Minimum Perimeter
• Enclose this original boundary, the arbitrary
boundary by a set of connected cells.

• When I enclose this boundary by a set of


connected cells, then those connected cells
define 2 sorts of restriction. one is the external
wall, the other one is the internal wall.

• Then if I assume that this boundary is composed


of say rubber code and let the rubber code
contact itself within that within that set of cells.
21
of
20
Minimum Perimeter

Outer Wall

Inner Wall
22
of
How to obtain Polygonal
20
Approximation
• I choose 2 points on this boundary and split this
original boundary in 2halves by joining these2
points by a straight line.

• I find out a point lying on every boundary


segment whose distance from the line joining the
end points is maximum.
23
of
20
24
of
20
25
of
Descriptor for Polygonal
20
Approximation
• Suppose We have any polygon.
• what is the descriptor that I can generate from
this polygonal representation?
• We need to use auto regressive model.

• Now consider any of the vertices in this polygon.


• say n'th vertex, it has a subtended angle say n
• Trace this polygon in say clockwise direction.
• Then given autoregressive model, it is assumed
that this angle n is represented by a linear
combination of k number of previous angles.
26
of
Descriptor for Polygon
20
Approximation
27
of
Descriptor for Polygon
20
Approximation
28
of
Descriptor for Polygon
20
Approximation
• This set of i can be used as descriptors.
29
of
20
Signatures
• This signature is some 1-dimensional mapping
of a 2-dimensional closed curve boundary.
• Suppose we have a circle and I find out centroid
of a circle.
• I find out what is the distance of different points
on this closed curve on this boundary from this
centroid.
• All distance values are represented as a function
of theta.
• So find out graph  vs r().
• In case of circle it will be a straight line.
30
of
20
Signatures
• If we take rectangle instead of circle and
find out graph  vs r().
• In case of rectangle it will not be a straight
line.
• The graphs are given in next slide.
• So we have converted 2-d boundary into
1-d function.
31
of
20
Signatures
32
of
20
Topics Covered
33
of
20
Fourier Descriptor
• Suppose you have an object boundary.
• Boundary is simply a set of discrete points in this
two-dimensional x-y space.
• lets represents the particular point by S(k).
• This boundary will be a sequence of such points
S(k)in our discrete two-dimensional space x-y.
• This sequence of boundary points can be
represented by a complex number by assuming
this x axis to be a real axis and y axis to be the
imaginary axis.
• Suppose we have N number of points on this
boundary.
34
of
20
Fourier Descriptors
35
of
20
Fourier Descriptors
• For N boundary points we will get N fourier
coefficients.
• These N fourier coefficients can be used as
descriptor.
• We can get back s(k) from a(u) by using inverse
transformation.
36
of
20
Boundary Straightness
• This boundary straightness is defined based on
the concept of boundary curvature.
• we know that in continuous case, the curvature
at a point is given by rate of change of slope.
• So, if you take the derivative of the slope at a
particular point, what you get is the curvature at
that particular point.
• In discrete case it is given as ratio of number of
pixels where the direction of boundary changes
abruptly to the total number of boundary points.
37
of
20
Boundary Straightness
38
of
20
Bending Energy
• Bending energy is supposed we have steel rod
and we want to bend that steel rod to a given
shape. Now, while doing so, the amount of
energy that we have to spend to bend the steel
rod to a given shape, that is what is called
bending energy.

• Bending energy can be computed from the


concept of curvature at different points on the
boundary.
• So, at the k'th point if I say that c (k) is the
curvature at point k.
39
of
20
Bending Energy
40
of
20
Region based Descriptors
• The Shape information can be obtained from boundary
of object as well as region itself.

• One such descriptor is region area.

• Region Area: Region area is the total number of pixels


belonging to the area or region.

• If I translate the object or if I rotate the object, the total


number of the pixel within that object will remain the
same so it is translation and rotation invariant.
• But it is not Scale Invariant.
41
of
20
Euler Number
• It is a simple topological invariant or scale
invariant.
• Euler Number= S – N

• Where S is number of connected


components and N is Number of holes in
object.
42
of
20
Euler Number
43
of
20
Eccentricity
• I find out a code of this particular region of
maximum length.

• Then I find out another code of maximum length


of the same region which is perpendicular to the
code of maximum length.

• so the ratio of these two codes this is what is


called eccentricity of this particular shape.
44
of
20
45
of
20
Elongatedness
• Suppose, we have a shape or a region.
• I find out a rectangle, a bounding rectangle of
this region which is of minimum size.
• This is called minimum bounding rectangle.
• suppose a is the length of the larger side of this
bounding rectangle and b is the length of the
smaller side of this bounding rectangle.
• The Elongatedness in such case is defined as
the ratio of a to b.
46
of
20
Elongatedness
47
of
20
Elongatedness
• But above definition is not valid if region is
curved.
• In case of Curved region we measure what is
the thickness of this elongated region along with
the length of the elongated region.

ick ne ss of Length of elongated


Th
t ed r egion
elonga region
48
of
20
Elongatedness
In such case Elongatedness is defined as

Elongatedness= area/(Max thickness)2


49
of
20
Compactness
50
of
20
Moments
• Normalized gray level image tells us about
probability density function of image.
51
of
20
Texture
• Texture is something which consists of
mutually related elements.
52
of
20
Texture
• We can say that these textures contain
some primitive elements and repetitive
appearance of these primitive elements,
what I get is a texture image.

• These primitive elements are the group of


pixels which form a texture is called the
texture element or texts.
53
of
20
Texture Descriptors
54
of
20
Statistical Texture descriptors
• Simplest level of statistical based texture
descriptors can be obtained from
histograms.

• Moment of histogram is required to find


texture descriptor.
55
of
20
Statistical Texture descriptors
56
of
20
Statistical Texture descriptors
• From this gray level histogram, we can
find out different textures which are
nothing but moments of different orders.
• L is number of gray levels
• P(zi) is histogram i.e number of pixels at
intensity I in normalized form.
• M is mean intensity.
• Moments are given in next slide.
57
of
20
Statistical Texture descriptors
58
of
20
Statistical Texture descriptors
• Put n=0 to find out zero order moment.
• Put n=1 to find out first order moment and
so on.

• Second order moment is variance of


intensity level of image.
• So variance can also be used as texture
descriptor.
59
of
20
Statistical Texture descriptors

You might also like