What is Contour Tracing?
Also known as border following or boundary following;
contour tracing is a technique that is applied to digital images in order
to extract their boundary. As a result, an important question arises: What
is the "boundary" of a given digital image?
In order to answer that question, we first have to define a digital
image. A digital image is a group of pixels on a
square
tessellation each having a certain value. Throughout
this web site, we will be dealing with bilevel images i.e.
each pixel can have one of 2 possible values namely:
1, in which case we'll consider it a "black" pixel and
it will be part of the pattern, OR
0, in which case we'll consider it a "white" pixel and
it will be part of the background.
Now we come to our original question: What is the "boundary" of a
given pattern?
The boundary of a given pattern P, is the set of border
pixels of P.
Since we are using a square tessellation, there are 2 kinds of boundary
(or border) pixels: 4-border pixels and 8-border
pixels.
A black pixel is considered a 4-border pixel if it shares
an edge with at least one white pixel. On the other hand, a
black pixel is considered an 8-border pixel if it shares
an edge or a vertex with at least one white pixel.
(A 4-border pixel is also an 8-border pixel. An 8-border pixel may
or may not be a 4-border pixel.)
A point worth mentioning is that it is not enough to merely identify
the boundary pixels of a pattern in order to extract its contour. What
we need is an ordered sequence of the boundary pixels from which
we can extract the general shape of the pattern.
Why would we want to extract the contour of a given
pattern?
Contour tracing is one of many preprocessing techniques performed on
digital images in order to extract information about their general shape.
Once the contour of a given pattern is extracted, it's different characteristics
will be examined and used as features which will later on be used in pattern
classification. Therefore, correct extraction of the contour will produce
more accurate features which will increase the chances of correctly classifying
a given pattern.
But you might be wondering: Why waste precious computational time on
first extracting the contour of a pattern and then collecting its features?
Why not collect features directly from the pattern?
Well, the contour pixels are generally a small subset of the total
number of pixels representing a pattern. Therefore, the amount of computation
is greatly reduced when we run feature extracting algorithms on
the contour instead of on the whole pattern. Since the contour shares a
lot of features with the original pattern, the feature extraction process
becomes much more efficient when performed on the contour rather on the
original pattern.
In conclusion, contour tracing is often a major contributor
to the efficiency of the feature extraction process -an essential process
in the field of pattern recognition.