# A novel single-pass thinning algorithm and an effective set of performance criteria

**ABSTRACT** A new sequential thinning algorithm, which uses both flag map and bitmap simultaneously to decide if a boundary pixel can be deleted, as well as the incorporation of smoothing templates to smooth the final skeleton, is proposed in this paper. Three performance measurements are proposed for an objective evaluation of this novel algorithm against a set of well established techniques. Extensive result comparison and analysis are presented in this paper for discussion.

**1**Bookmark

**·**

**81**Views

- [Show abstract] [Hide abstract]

**ABSTRACT:**This article proposes a technique to animate a Chinese style painting given its image. We first extract descriptions of the brush strokes that hypothetically produced it. The key to the extraction process is the use of a brush stroke library, which is obtained by digitizing single brush strokes drawn by an experienced artist. The steps in our extraction technique are first to segment the input image, then to find the best set of brush strokes that fit the regions, and, finally, to refine these strokes to account for local appearance. We model a single brush stroke using its skeleton and contour, and we characterize texture variation within each stroke by sampling perpendicularly along its skeleton. Once these brush descriptions have been obtained, the painting can be animated at the brush stroke level. In this article, we focus on Chinese paintings with relatively sparse strokes. The animation is produced using a graphical application we developed. We present several animations of real paintings using our technique.ACM Transactions on Graphics (TOG). 04/2006; 25(2):239-267. - SourceAvailable from: ocean.kisti.re.kr[Show abstract] [Hide abstract]

**ABSTRACT:**A structured beam laser is often used to scan object and make 3D model. Multiple cameras are inevitable to see occluded areas, which is the main reason of the high price of the scanner. In this paper, a low cost 3D foot scanner is developed using one camera and two mirrors. The camera and two mirrors are located below and above the foot, respectively. Occluded area, which is the top of the foot, is reflected by the mirrors. Then the camera measures 3D point data of the bottom and top of the foot at the same time. Then, the whole foot model is reconstructed after symmetrical transformation of the data reflected by mirrors. The reliability of the scan data depends on the accuracy of the parameters between the camera and the laser. A calibration method is also proposed and verified by experiments. The results of the experiments show that the worst errors of the system are 2 mm along x, y, and z directions.Transactions of the Society of CAD/CAM Engineers. 01/2011; 16(1). - SourceAvailable from: Richard M Leggett
##### Article: Statistical analysis of the growth and morphology of the filamentous microbe Streptomyces coelicolor

[Show abstract] [Hide abstract]

**ABSTRACT:**Streptomycetes are soil-based bacteria which exhibit fungal-like filamentous growth patterns and are an important source of medic- inal antibiotics. Despite their usefulness, there are large gaps in our understanding of the mechanisms of growth and branching that they employ. Our research has focussed on analysis and mod- elling of the early stage morphology of the model organism Strep- tomyces coelicolor. To enable this work, we have developed a software tool to provide automatic analysis of microscope images of filamentous microbes. In this paper, we describe the techniques employed in the tool and present some early results from experi- ments we have carried out to quantify the differences between the wild-type and a number of mutants developed at UEA.07/2009;

Page 1

ELSEVIER

Pattern Recognition Letters 16 (1995) 1267-1275

Pattern Recognition

Letters

A novel single-pass thinning algorithm and an effective set

of performance criteria

R.W. Zhou, C. Quek *, G.S. Ng

Intelligent Systems Laboratory, School of Applied Science, Nanyang Technological University, Nanyang Avenue, Singapore 2263,

Singapore

Received 1 October 1994; revised 14 March 1995

Abstract

A new sequential thinning algorithm, which uses both flag map and bitmap simultaneously to decide if a boundary pixel

can be deleted, as well as the incorporation of smoothing templates to smooth the final skeleton, is proposed in this paper.

Three performance measurements are proposed for an objective evaluation of this novel algorithm against a set of well

established techniques. Extensive result comparison and analysis are presented in this paper for discussion.

Keywords: Single pass; Performance criteria; Smoothing templates; Performance and complexity analysis; Boundary noise; Noise immunity;

Thinning algorithm

1. Introduction

Thinning is an important pre-processing step for

many image analysis operations. The main objective

of thinning in image processing and pattern recogni-

tion are: to reduce data storage while at the same

time retaining its topological properties, to reduce

transmission time as well as to facilitate the extrac-

tion of morphological features from digitized pat-

terns. Thinning reduces the amount of data to be

stored by transforming a binary image into a skele-

ton, or line drawing.

The result of the thinning process is a skeleton. It

was first introduced by Blum (1964), who called it

the medial axis. There are many thinning algorithms

developed from then on (Arcelli, 1981; Dill and

Levine, 1987; Pavlidis, 1982; Xu and Wang, 1987).

* Corresponding author. Email: ashcquek@ntuix.ntu.ac.sg

These algorithms can be classified into two classes:

parallel and sequential thinning algorithms (Rosen-

feld and Pflatz, 1966; Stefanelli and Rosenfeld,

1971). The main difference between these two types

is that sequential thinning operates on one pixel at a

time and the operation depends on preceding pro-

cessed results, whereas parallel thinning operates on

all the pixels simultaneously. Most of the thinning

algorithms developed were parallel algorithms. Se-

quential thinning generally produces better skeletons

and requires less memory, but parallel thinning is

substantially faster. However, a sequential algorithm

implemented on serial hardware will be faster than a

parallel algorithm.

In this paper, a novel single-pass thinning algo-

rithm that uses both flag map and smoothing tem-

plates for boundary pixel deletion is proposed. The

skeleton produced by this algorithm is not only

one-pixel thick, perfectly connected, well-defined,

0167-8655/95/$09.50 © 1995 Elsevier Science B.V. All rights reserved

SSDI 0167-8655(95)00078-X

Page 2

1268

R.W. Zhou et aL /Pattern Recognition Letters 16 (1995) 1267-1275

but also has the desired property of handling bound-

ary noise. The new technique will be thoroughly

described in Section 2. Section 3 provides a brief

description of related works. Three performance

measurements are proposed as objective criteria in

Section 4 for the evaluation of thinning algorithms.

Detailed result analysis and performance evaluation

of the proposed algorithm against related works based

on these criteria are presented in Section 5.

2. Problems existing in current algorithms and

some solutions

In most existing thinning algorithms, when a pixel

is decided as a boundary pixel, it is either deleted

directly from the image (Tamura, 1978) or flagged

and not deleted until the entire image has been

scanned (Jang and Chin, 1990; Xu and Wang, 1987).

There are deficiencies associated with each of these

strategies; namely:

Deficiency of the first strategy: lapse from medial

axis

In the former case, the deletion of each boundary

pixel will change the object in the image and hence

affect the final skeleton. This kind of algorithms

does not thin the object symmetrically. If the image

is scanned in a row-wise manner from the left to the

right, the thinned object lines are then located to-

wards the south-eastern borders of the image, be-

cause the north-western border points are removed

first.

To overcome this problem, some thinning algo-

rithm use several passes or sub-cycles in one thin-

ning iteration (Pavlidis, 1982; Feigin and Ben-Yosef,

1984). Each pass is an operation to remove boundary

pixels from a given direction. However, both the

time complexity and memory requirement will be

increased.

Deficiency of the second strategy: excessive deletion

In the latter case, as the pixels are only flagged,

the state of the bitmap at the end of the last iteration

will be used in deciding which pixel to delete.

However, if this flag map is not used to decide on

whether to delete the current pixel then the informa-

tion generated from processing the previous pixels in

the current iteration will be lost. In certain situations,

the final skeleton may be badly distorted; for exam-

ple, a two-pixel-wide line will be completely deleted.

Some efforts have been made to handle this short-

coming, such as using restoring templates (Chin et

al., 1987). These methods to some degree are able to

satisfy the requirements, though not completely, at

the expense of higher computational time.

In the proposed algorithm, the image and the flag

map are used together to decide on which pixel to

delete. In this way, one can overcome the problems

mentioned earlier as well as to increase the stability

of the final skeleton with respect to the boundary

noise. When examining a pixel and its neighbours to

decide if it is to be flagged as a boundary pixel, both

the flag map and the results from the last iteration

are used in the decision-making process.

2.1. Semantics of symbols

In the subsequent sections the following symbols

will be used to describe the various thinning algo-

rithms. The symbols Po, P1, P2, P3, P4,/)5, P6, P7

and Ps, shown in Fig. l(a), represent the pixel

P[i][j] in the bitmap and its neighbours P[i-1]

[j], P[i- 1][j + 1], P[i][j + 1], P[i + 1][j + 1],

P[i + 1][j],

P[i + 1][j- 1],

P[i- 1][j- 1] respectively. The flag map is used

for flagging those pixels that will eventually be

deleted. The size of the flag map is the same as that

of the image. That is to say, for an n × m image the

size of the flag map will also be n × m. In this

algorithm, the symbols Qo, Q1, Q2, Q3, Q4, Qs, Q6,

Q7, and Q8, as shown in Fig. l(b), correspond to Po,

el, P2, /)3, /°4, 195, e6, P7, and P8 respectively.

Initially, all pixels in the flag map are set to 1. The

value will be changed to 0 as soon as that pixel is

flagged.

P[i][j- 1] and

P, P~ P, Q, Q, Q,

P, P. P, ;Q. Q, Q,

P, P, P, Q, Q, Q,

(a) (b)

Fig. 1. (a) Local pixel notation of bitmap used in boundary pixel

check. (b) Local pixel notation of flag map used in boundary pixel

check.

Page 3

R.W. Zhou et al. / Pattern Recognition Letters 16 (1995) 1267-1275

1269

2.2. Definitions of functions in the proposed thinning

algorithm

Three functions are used in the proposed algo-

rithm. They are the previous neighbourhood function

PN, the current neighbourhood function CN and the

"0 ~ 1" transition function Trans. The previous

neighbourhood function PN is defined as follows:

8

PN(Po) = ~-, Pi"

(1)

i=l

It counts the number of previous neighbours of pixel

P0, that is, the number of its neighbours in the

bitmap from the last iteration. The previous neigh-

bourhood function PN is used to detect whether a

foreground pixel P0, whose pixel value in the bitmap

is one, is a boundary point. If PN(P o) is equal to 8,

then pixel P0 is not a boundary point since there is

no background pixel, whose pixel value is zero, in its

neighbourhood. The current neighbourhood function,

CN, is defined as follows:

8

CN(Po) = ~-, (Pi X Qi).

i=1

It counts the number of current neighbours of pixel

P0. If one foreground pixel in the neighbourhood of

P0 has been flagged then it can no longer be consid-

ered to exist. The conditions for matching the current

neighbourhood function CN will be explained later.

The operator "X" in the function CN is the logical

"and" and the operator "+" is the logical "or".

The "0 ~ 1" transition function, Trans, is de-

fined as follows:

(2)

8

Trans( Po) = E count( Pi)

i=1

where

[

= / 1,

count ( ei )

O,

if ((Pi X Qi = O)

and ( Pi+l X Qi+l ---- 1)),

otherwise

(3)

1 1 1

0 1 0

1 0 1

Fig. 3. Trans(P o) = 3 = min(5, 8-5).

and

P9 = el, Q9 = Q1.

It gives the number of "0 ~ 1" transitions when

traversing across the 8-neighbours P1, P2,'", Ps"

The function Trans is used to measure the connectiv-

ity within the immediate neighbourhood of the pixel.

If the conditions (Trans(P o) = 1) and (CN(P o) > 1)

are true, then there exists only one connected compo-

nent within the perimeter of the 3 X 3 sub-image. In

this case, as can be seen in Fig. 2, it is safe to

remove the central pixel that has the value 1, since

its removal will not affect the connectivity of the rest

of the pixels in the local window. If the condition

(Trans(P o) = min(CN(Po), 8 - CN(Po))) is true,

that means the central pixel P is a break point. The

removal of the break point will damage the connec-

tivity of the image and hence it must be preserved,

(see Fig. 3). However, there are four special cases

which satisfy the second condition but should not be

included. They are represented by the templates de-

picted in Fig. 4(a)-(h) in which x is displaced by 0.

In these four cases, the central point P could be

deleted in order to keep 8-connectivity.

In Eq. (3), the flag map Qi is used in the calcula-

tion of the value of Trans(Po). Here the bitmap and

the flag map are used to count the "0 --, 1" transi-

tions. The statement "Pi and ai is zero" in Eq. (3)

x 1 0 0 1 0 0 0 x 0 0 0

0 1 1 0 1 1 0 1 1 0 1 I

0 0 0 0 0 x 0 1 0 x 1 0

(a) (b) (c) (d)

0 0 0

0 1 1

1 1 1

Fig. 2. Trans(Po)= 1.

0 0 0 x O 0 O l O O l x

1 1 0 1 1 0 1 1 0 1 1 0

O l x 0 1 0 x O 0 0 0 0

(e) (f) (g) (h)

Fig. 4. Smoothing templates used in boundary pixel check.

Page 4

1270

R.W. Zhou et al. / Pattern Recognition Letters 16 (1995) 1267-1275

means that a foreground pixel is to be considered as

background as soon as it has been flagged. In the

second statement, a foreground pixel is considered as

part of the foreground only if it is not flagged.

2.3. The proposed thinning algorithm

The proposed thinning algorithm is described as

follows:

Step 1. For each pixel P in the bitmap do the

following:

(i) count PN(P), CN(P) and Trans(P);

(ii) if P is a black boundary pixel that satisfies

condition 1 and (condition 2 or condition 3), flag it.

The three conditions are given as follows:

condition 1: (CN(P) > 1) and (CN(P) < 6);

condition 2: (Trans(P) = = 1); and

condition 3: P and its neighbours match one of

the smoothing templates in Fig. 4(a)-(h).

Step 2. Delete the flagged pixels.

Step 3. Repeat step 1 and step 2 until no pixel can be

deleted.

3. Related works

Four sub-cycles and eight templates are employed to

remove border points from all four directions as well

as unnecessary points at junctions. Jang and Chin's

algorithm converges to a one-pixel wide and prop-

erly connected skeleton in a finite number of itera-

tions. The fourth thinning algorithm is a one-pass

two-operation process proposed by Arcelli and Baja

(1989). This process is based on the notion of multi-

ple pixel as well as on the use of the 4-distance

transform rather than on the original object. It has

been shown to be effective in reducing the overall

computation time and getting a labelled skeleton.

The last one is O'Gorman's (1990) K * K Thinning.

O'Gorman generalized the commonly used 3 * 3 thin-

ning into K * K thinning in his paper. That is,

instead of examining windows of 3 * 3 pixels and

erasing the center pixel, K * K sized windows are

examined throughout the image and a center core of

(K- 2)* (K- 2) pixels are erased if the criteria are

met.

The five algorithms mentioned above as well as

the one proposed here have been implemented and

optimized in C. The test images are 512 x 128 bi-

nary patterns, which have been pre-processed by

thresholding the grey-level. Samples of these are

given in Fig. 7.

Many thinning algorithms have been proposed to

date. Their applications often produce different

skeleton shapes. The following five algorithms in

this section are common in the literature. They are

briefly outlined and discussed here. In the next sec-

tion, the results of these algorithms will be compared

against that of the proposed one. The first algorithm

used is a simple one-pass algorithm without using

connected templates and flag map (Tamura, 1978).

Pixels are raster scanned throughout the image and

deleted against two constraints: connectivity con-

straint and end-point constraint. The basic disadvan-

tage of this algorithm is that it does not thin the

image object symmetrically. The second is actually a

sequential implementation of a parallel algorithm -

Zhang and Suen's (1984) algorithm, which may be

considered as the most widely used algorithm for

thinning images. Compared with the first one, it is a

more elaborate thinning algorithm that requires two

successive iterative passes, six templates and a flag

map. The third is Jang and Chin's (1990) algorithm.

4. Performance measurements

The performance evaluations of the algorithms

generally include execution time (or time complex-

ity) and memory requirement. These two criteria are

easy to evaluate but do not answer the question on

"Which thinning algorithm is better?". To do this, it

is necessary also to evaluate the thinned outputs.

There exists a number of comparative studies

examining various thinning algorithms (Davies and

Plummer, 1981; Hilditch, 1983; Tamura, 1978). Al-

though no precise standard has yet been established,

it has generally been accepted that a good skeleton

produced by a thinning algorithm must possess the

necessary properties covering topology, shape, con-

nectivity, thinness, and sensitivity to boundary noise.

The assessment of thinning algorithms can be rather

subjective. In order to draw some comprehensive

conclusions over the performance of the algorithm,

some objective criteria are proposed in this paper. In

Page 5

R.W. Zhou et al. / Pattern Recognition Letters 16 (1995) 1267-1275

1271

P[i-I ][j-1]

P[i-ll[j] P[i-I ][j+l]

1

v

P[i][j-l] P[i][j] P[i][j+1] I

1

,/

o

1 o

1 1

"ql

P[ilUl

'ql i/

P[ilUI

o o

(b) (c)

0 1

1

0

P[~][Jl

(a) (d)

Fig. 5. (a) Vertices of black triangles are all black pixels (having value one). (b) count(P[i][j])= 2. (c) count(P[i][j])= 2. (d)

count(P[ i][ j]) = 0.

this section three performance measurements are

proposed. They are the thinness measurement, TM,

the connectivity measurement, CM, and the sensitiv-

ity measurement, SM.

4.1. The thinness measurement TM

A thinned skeleton must be thinned as named. But

to what extent can an object in an image be said to

be completely thinned or thinned to some degree?

The thinness measurement, TM, measures the degree

to which an object in an image is thinned. This is

given below:

TM = 1 - TM 1 + rM 2,

TMI= ~ ~triangle_count(P[i][jl),

i=O j=O

(4)

TM2 = 4 × [max(m, n) - 1] 2,

where

triangle_ count( P [ i] [ j ])

=P[i][j]*P[i][j-

+P[i][j]* P[i- 1][j- 1]*P[i-

+P[i][j]* P[i- 1][j]*P[i-

+P[i][j]*P[i- 1][j+ 1]*P[i][j+

1]* P[i- 1][j- 1]

1][j]

1][j+ 1]

1],

the operators " *" and "+"

tions, and n, m are the dimensions of the image.

If P[i][j] is a black pixel, then the value of

triangle_ count( P[ i ][ j ]) is equal to the number of

triangles whose three vertices are all black pixels as

shown in Fig. 5. It is easy to prove that, if anywhere

in the image the object is not one-pixel wide (not

thinned), then there exists a triangle composed of

three black pixels, see detailed illustrations in Fig. 6.

Such triangles are referred to as black triangles. The

total number of black triangles can be used to mea-

sure the thinness of the final skeleton. This is given

are arithmetic opera-

0 1 ~ 1 0 1 0 1 0

I

0 0L~ 1 0 1~~ I ~ ? 0 1 0

o o o l 0 1 o o 0 , o

(a) (b) (c) (d)

Fig. 6. (a) Black triangles exist wherever the image is not thinned. (b) This is a two-pixel wide bar. TM1 = 12, TM2 = 4 × [max(2, 4) - 1] 2

= 36, TM = 0.666667. The bar can be considered slightly thinned, though not completely. (c) This is a curved line with TM1 = 0. Hence,

TM = 1. The line is completely thinned. (d) This is a square consisting of 4 black pixels. TM1 = 4 and TM2 = 4, hence, TM = 0. The

square is not thinned at all.

Page 6

1272

R.W. Zhou et al. / Pattern Recognition Letters 16 (1995) 1267-1275

by TM1 in Eq. (4). TM1 is normalized with respect

to the parameter TM2. TM2 represents the largest

number of black triangles that an image could have.

Hence, the normalized value of the thinness mea-

surement TM between 0 and 1. When it is 1, the

image is completely thinned and when its value is 0,

the image is not thinned at all. The larger the normal-

ized value of TM the more likely the object in the

image is thinned. From the illustrations in Fig. 6, one

can see that when an image is a black square, it has

the largest number of black pixels, and hence its

thinness measurement TM will be 0.

4.2. The connectivity measurement CM

The second measurement to be defined here is the

connectivity measurement, CM. This is given by:

CM= ~ ~S(P[il[Jl )

i=O j=O

(5)

where

1, if CN(P[i][j]) <2,

s(e[i][j])= O, otherwise.

It is used to measure the connectivity of the output

skeleton. An object in an image is said to be discon-

nected, if it has broken pieces where it should not.

Furthermore, wherever there are disconnected lines,

there are also end points and discrete points. The

number of end points and discrete points in an image

is a constant value for a particular image. Hence,

when an image is disconnected, it will have more

end points and discrete points than it should. From

this observation, one could make use of the number

of end points and discrete points in the image as a

connectivity measurement to measure connectivity of

the object in an image. This can be used as an

effective criterion for comparing the results of thin-

ning algorithms.

It is obvious that a thinned skeleton would have

more end points and discrete points than the original

image. Thinning algorithms can neither rejoin the

broken lines nor eliminate the discrete points. They

can only increase end points and discrete points by

erroneous deletions. The closer the number of these

points in the final skeleton to that in the original

image, the higher the degree of connectivity in the

skeleton with respect to the original image.

4.3. Sensitivity measurement

The third measurement is the sensitivity measure-

ment, SM. This is given by:

SM= ~ ~S(P[i][j])

i=1 j=0

(6)

where

1, if Trans(P[i][j]) >2,

otherwise.

s(e[i][j])= o,

A good thinning algorithm should be immune to

slight noise in the image. The noise mentioned here

are mainly the perturbations in the outline of an

object, not unwanted extra parts in the image. Those

unwanted extra parts such as an extra black dot, are

called avoidable noise. They can be handled by other

image preprocessing techniques such as thresholding,

cutting, etc. The main concern here is only the small

perturbations along the outline of the object which

usually cause deformation, offshoots, and tabs in the

Table 1

Measurement comparison of final skeletons in Fig. 7

Peformance comparison

TM (thinness

measurement)

CM (connectivity

measurement)

SM (sensitivity

measurement)

Real running time on

SUN SPARC 10

The original image after thresholding

Tamura's algorithm

Zhang and Suen's algorithm

Jang and Chin's algorithm

Arcelli and Baja's algorithm

O'Gorman's algorithm

Our proposed algorithm

0.987293

0.998437

0.999010

0.999925

0.996533

0.999975

0.999896

13

37

43

145

44

206

27

30

80

56

89

21

6

14

N.A

1.103995 secs

2.018892 secs

4.065187 secs

1.289685 secs

1.475501 secs

1.371793 secs

Page 7

R.W. Zhou et aL / Pattern Recognition Letters 16 (1995) 1267-1275

1273

final skeletons. Many algorithms have attempted to

improve their immunity to the noise (Chin et al.,

1987; Jang and Chin, 1990). However, the evalua-

tion of their efforts is still unclear. The sensitivity

measurement is a simple but effective criterion for

addressing this issue.

It is obvious that a cross point exists wherever

there is an offshoot or a tab. For a given image, the

total number of its cross points is fixed. The excess

cross points are caused by the vulnerability to noise

and the inadequacy of the thinning algorithm. Hence,

the total number of cross points in an image can be

(a)

(b)

(c) (d)

(e) (f)

i". ! _,;;

• t,..:.~.

lt- .t" I I

,J r > ,,..

q¢

(g)

Fig. 7. The final skeletons of Chinese signature using different thinning algorithms. (a) The original signature• (b) The final skeleton of

Tamura's algorithm. (c) The final skeleton of Zhang and Suen's algorithm. (d) The final skeleton of Jang and Chin's algorithm. (e) The final

skeleton of Arcelli and Baja's algorithm. (f) The final skeleton of O'Gorman's algorithm. (g) The final skeleton of the proposed algorithm.

Page 8

1274

R.W. Zhou et al. / Pattern Recognition Letters 16 (1995) 1267-1275

used as a kind of sensitivity measurement. The fewer

the cross points, the higher the immunity of the

algorithm to noise.

5. Result analysis and comparison

In this section, the performance of the various

thinning algorithms are analyzed according to the

criteria proposed in the previous section. The real

running times, and the measurements, TM, CM and

SM of the different thinning algorithms on Chinese

signatures, are listed in Table 1.

A Chinese signature after binarisation is used as

the test image. This is shown in Fig. 7(a). It is still

quite noisy along the boundary. Figs. 7(b) to 7(0 are

the final skeletons of the five algorithms introduced

in Section 3. Fig. 7(g) shows the result of the

proposed algorithm. From the skeletons in Fig. 7, it

is easily observed that the final skeletons derived

from both Tamura's algorithm and Jang and Chin's

algorithm are the most noisy, and the result obtained

from the proposed algorithm is smooth, clear and

connected when compared with the other five. Of

course, this observation is totally subjective. The

objective measurements based on the criteria sug-

gested in Section 4 are listed in Table 1.

The first column of Table 1 gives the comparison

of the thinness measurement, TM, for the various

algorithms. The value of TM of the original image is

0.987293, not 0. This is because, as was mentioned

earlier, only the TM value of a black square is zero.

Although the original image is not thinned at all, its

strokes are still quite slim. The thinness of Jang and

Chin's result is the best, while the skeleton produced

by the proposed algorithm is the next best. Next, the

second column illustrates the comparison of the 4

thinning algorithms on the basis of the connectivity

measurement. As anticipated, the connectivity of the

proposed algorithm is the best when compared with

the others, especially when compared with O'Gor-

man's algorithm, which has a connectivity measure-

ment of 206. The third column shows the compari-

son of the 6 thinning algorithms on the basis of the

sensitivity measurement. From this column, it is

clear that the proposed algorithm produces an amaz-

ing result which has 14 cross points, even less than

that of the original image. The total number of cross

points in the final skeleton obtained by the proposed

algorithm is 17.5% of Tamura's algorithm, 25% of

Zhang and Suen's algorithm, 15.7% of Jang and

Chin's algorithm, 66.7% of Arcelli and Baja's algo-

rithm, and 46.7% of the original image. But it is still

not the best, the final skeleton obtained by O'Gor-

man's algorithm has only 6 cross points at the

expense of the connectivity performance. This coin-

cides with the visual observations. Finally, the fourth

column tabulates the comparison of the actual execu-

tion time for the 6 algorithms. Tamura's algorithm is

the fastest followed by Arcelli and Baja's algorithm,

while the proposed algorithm comes in third.

The above analysis shows that the proposed algo-

rithm has managed to produce several desired im-

provements. Some of its attractive features are low

computation time, high reliability and stability, par-

ticularly with respect to noise. Its advantages are

obvious when considering thinness, connectivity,

noise sensitivity and time complexity. But most im-

portantly, it is the high immunity to boundary noise

that accounts for the greatest visual impact.

6. Conclusion

This paper describes a novel single-pass thinning

algorithm, its properties and advantages. Detailed

discussion of each step, conditions and templates

used in the algorithm is given. Three objective per-

formance criteria for thinning algorithms are pro-

posed in this paper to effectively compare the pro-

posed algorithm against a set of well established

techniques. The results generated by this algorithm

are generally better than those produced by the other

algorithms. The comparison shows that the algorithm

is fast, reliable, immune to noise, and hence will be

an effective technique in image processing.

Acknowledgment

The authors wish to acknowledge the financial

support from the Nanyang Technological University,

School of Applied Science, for the work undertaken

within the research project AF: An Intelligent Toolkit

for Anti-Forgery.

Page 9

R.W. Zhou et al, / Pattern Recognition Letters 16 (1995) 1267-1275

1275

References

Arcelli, C. (1981). Pattern thinning by contour tracing. Computer

Graphics and Image Processing 17 (2), 130-144.

Arcelli, C. and G.S. Baja (1989). A one-pass two-operation

process to detect the skeletal pixels on the 4-distance trans-

form. IEEE Trans. Pattern Anal, Mach. Intell' 11 (4).

Blum, H. (1964). A transformation for extracting new descriptors

of shape. In: Proc. Symp. Models for the Perception of Speech

and Visual Form. MIT Press, Cambridge, MA.

Chin, R.T., H.K. Wan, D.L. Stover and R.D. Iverson (1987). A

one-pass thinning algorithm and its parallel implementation.

Computer Vision, Graphics, and Image Processing 40, 30-40.

Davies, E.R. and A.P.N. Plummer (1981). Thinning algorithms: a

critique and a new methodology. Pattern Recognition 14,

53-63.

Dill, A.R., and M.D. Levine (1987). Multiple resolution skeletons.

IEEE Trans. Pattern Anal, Mach. Intell. 9 (4), 495-504.

Feigin, G. and N. Ben-Yosef (1984). Line thinning algorithm.

Proc. SPIE 397, 108-112.

Fischler, M.A. and R.C. Bolles (1983). Perceptual organization

and the curve partitioning problem. In: Proc. 8th IJCAI,

Karlsruhe, 1014-1018.

Hilditch, C.J. (1983). Comparison of thinning algorithms on a

parallel processor. Image Vision Comput. 1, 115-132.

Jang, B.K. and R.T. Chin (1990). Analysis of thinning algorithms

using mathematical morphology. IEEE Trans. Pattern Anal,

Mach. Intell. 12 (6), 541-551.

O'Gorman, L. (1990). K * K thinning. Computer Vision, Graph-

ics, and Image Processing 51, 195-215.

Levine, M.D. (1985). Vision in Man and Machine. McGraw-Hill,

New York.

Pavlidis, T. (1980). A thinning algorithm for discrete binary

images. Computer Graphics and Image Processing 13, 142-

157.

Pavlidis, T. (1982). Algorithms for graphics and image process-

ing. Computer Graphics and Image Processing, 20, 133-157.

Persoon, E. and K.S. Fu (1977). Shape discrimination using

Fourier descriptors. 1EEE Trans. Syst. Man. Cybern. 7 (3),

170-179.

Rosenfeld, A. and J.L. Pfattz (1966). Sequential operations in

digital picture processing. J. ACM 13 (4), 471-494.

Stefanelli, R. and A. Rosenfeld (1971). Some parallel thinning

algorithms for digital pictures. J. ACM 18 (2), 255-264.

Tamura, H. (1978). A comparison of line thinning algorithms

from digital geometry viewpoint. Proc. Fourth Internat. Joint

Conf. on Pattern Recognition, Kyoto, 715-719.

Xu, W. and C. Wang (1987). CGT: a fast thinning algorithm

implemented on a sequential computer. IEEE Trans. Syst.

Man Cybern. 17 (5), 847-851.

Zhang, T.Y. and C.Y. Suen (1984). A fast parallel algorithm for

thinning digital patterns. Comm. ACM 27 (3), 236-239.