Thinning
Algorithms
Thick images
Thin images
Color images
Character Recognition (OCR)
Thinning: from many pixels width to
Thinning: from many pixels width to
just one
just one
•
Much work has been done on the thinning of
``thick'' binary images,
•
where attempts are made to reduce shape
outlines which are many pixels thick to outlines
which are only one pixel thick.
•
Skeletonization
Thinning of thick binary images
Thinning of thick binary images
Thinning using
Thinning using Zhang and Suen
algorithm [1984].)
results of the first pass results of the second pass final results
Point just
removed
8
7
26
25
(b) is slightly
increased
image
Example of Thinning algorithm from
Example of Thinning algorithm from
Zhang and Suen 1984
Zhang and Suen 1984
Example 1 of Rules for Thinning
Example 1 of Rules for Thinning
Algorithm
Algorithm
Don’t
care
Old one
New and
old one
Rule 1
Rule 2 Rule 3 Rule 4
Rule 1
All four rules can
be illustrated like
that
Applying thinning to fault
Applying thinning to fault
detection in PCB
detection in PCB
All lines are thinned to one pixel width
Now you can check connectivity
Thinning Algorithm
Thinning Algorithm
•
Thinning
algorithm is
sensitive to
corrupted
image
segments
image
Correct background shows
desired shape of letter T
Noise leads to
lack of
connectivity.
BAD
Thinning
Thinning
applied after
applied after
Edge Detection
Edge Detection
Rules of binary thinning
Rules of binary thinning
•
We will present the rules used for the
``binary thinning'' which is applied to the
edge images (found using the edge
detector).
•
The rules are simple and quick to carry out,
requiring only one pass through the image.
Thinning of thin binary images
Thinning of thin binary images
The SUSAN Thinning Algorithm
The SUSAN Thinning Algorithm
•
It follows a few simple rules
–
remove spurious or unwanted edge points
–
add in edge points where they should be
reported but have not been.
•
The rules fall into three categories;
–
removing spurious or unwanted edge points
–
adding new edge points
–
shifting edge points to new positions.
•
Note that the new edge
points will only be
created if the edge
response allows this.
These all can be called “local improving” rules
•
The rules are
listed according to
the number of edge
point neighbours
which an edge
point has (in the
eight pixel
neighbourhood)
Discuss size of
window and
direction of
movement
The SUSAN Thinning Algorithm
The SUSAN Thinning Algorithm
0 neighbors
1 neighbor
2 neighbors
2 neighbors
3 neighbors
•
0 neighbors.
–
Remove the edge point.
•
1 neighbor.
–
Search for the neighbor with the maximum (non-zero) edge response, to continue the edge, and to
fill in gaps in edges.
•
The responses used are those found by the initial stage of the SUSAN edge detector, before non-maximum
suppression.
•
They are slightly weighted according to the existing edge orientation so that the edge will prefer to continue
in a straight line.
•
An edge can be extended by a maximum of three pixels.
The SUSAN Thinning Algorithm
The SUSAN Thinning Algorithm
Filling gaps by
adding new edge
points
•
2 neighbours.
–
There are three possible cases:
•
1. If the point is ``sticking out'' of an otherwise straight line, then compare its edge response to
that of the corresponding point within the line.
–
If the potential point within the straight edge has an edge response greater than 0.7 of the current point's
response, move the current point into line with the edge.
•
2. If the point is adjoining a diagonal edge then remove it.
•
3. Otherwise, the point is a valid edge point.
The SUSAN Thinning Algorithm
The SUSAN Thinning Algorithm
My point
has two
neighbors
My point
has two
neighbors
“Edge response” is a
measure of neighborhood
•
More than 2 neighbours.
–
If the point is not a link between multiple edges
then thin the edge.
•
This will involve a choice between the current point
and one of its neighbours.
•
If this choice is made in a logical consistent way then
a ``clean'' looking thinned edge will result.
The SUSAN Thinning Algorithm
The SUSAN Thinning Algorithm
How rules are applied?
How rules are applied?
•
These rules are applied to every pixel in the
image sequentially left to right and top to bottom.
–
If a change is made to the edge image then the current
search point is moved backwards up to two pixels
leftwards and upwards.
–
This means that iterative alterations to the image can be
achieved using only one pass of the algorithm.
The SUSAN Thinning Algorithm
The SUSAN Thinning Algorithm
Thinning can remove certain types of
Thinning can remove certain types of
lines from the image
lines from the image
Correct and Incorrect Thinning Examples
Correct and Incorrect Thinning Examples
•
X correct
•
V misread as Y
•
8 has noise added and not removed, wrong semantic network will be created
Good thinning examples
Good thinning examples
•
Here every symbol correctly thinned
Thinning Rules
•
Examples of rules
for shifting up and
down algorithm
Down rules
Up rules
Another set of Rules for Thinning Algorithm
Another set of Rules for Thinning Algorithm
new
Old
and
new
Tracing direction
•
Notation for points in window
•
Rules based on point replacements
Tracing Direction from left to right
Tracing Direction from left to right
Tracing Direction
Tracing Direction
This pixed
changed to
white
Example of bad thinning
Example of bad thinning
•
We would like to have one pixel
width everywhere
Thinning algorithm for
Thinning algorithm for
images from polygons
images from polygons
Typical errors of thinning algorithms
Typical errors of thinning algorithms
Gradient based thinning
Gradient based thinning