Connected component labeling of binary images on a mesh connected massively parallel processor

Abstract An algorithm for connected component labeling of binary patterns using SIMD mesh connected computers is presented. The algorithm consists of three major steps: identifying exactly one point (seed point) within each connected component (region), assigning a unique label to each seed point, and expanding the labels to fill all pixels in the respective regions. Two approaches are given for identifying seed points. The first approach is based on shrinking and the second on the iterative replacement of equivalent labels with local minima or maxima. The shrinking algorithm reduces simply connected regions into single pixels, but multiply connected regions form rings around the holes contained in the regions. A parallel algorithm is developed to break each such ring at a single point. The broken rings are then reduced to single pixels by reshrinking. With iterations consisting of shrinking, breaking rings, if any, and reshrinking, each pattern (of any complexity) is reduced to isolated points within itself. In the second approach every region pixel in the image is initially given a unique label equal to its address in the image. Every 3 × 3 neighborhood in the image is then examined in parallel to replace the central label with the maximum (or minimum) of the labels assigned to the set of region pixels in the neighborhood. This is done iteratively until there is no further change. The seed points are then the locations where the pixel addresses match their converged labels. A parallel sorting method is used for assigning a consecutive set of numbers as labels to the seed points. Parallel expansion up to the boundaries of the original patterns then completes the connected component labeling. The computational complexities of the algorithm are discussed.

[1]  Kenneth E. Batcher,et al.  Design of a Massively Parallel Processor , 1980, IEEE Transactions on Computers.

[2]  Stefano Levialdi,et al.  On shrinking binary picture patterns , 1972, CACM.

[3]  Azriel Rosenfeld,et al.  Sequential Operations in Digital Picture Processing , 1966, JACM.

[4]  Azriel Rosenfeld,et al.  Connectivity in Digital Pictures , 1970, JACM.

[5]  Sartaj Sahni,et al.  Finding Connected Components and Connected Ones on a Mesh-Connected Parallel Computer , 1980, SIAM J. Comput..

[6]  C. V Kameswara Rao,et al.  A parallel shrinking algorithm for binary patterns , 1976 .

[7]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[8]  Azriel Rosenfeld,et al.  Parallel Processing of Linear Quadtrees on a Mesh-Connected Computer , 1989, J. Parallel Distributed Comput..

[9]  Sartaj Sahni,et al.  Bitonic Sort on a Mesh-Connected Parallel Computer , 1979, IEEE Transactions on Computers.

[10]  D. T. Lee,et al.  Euclidean shortest paths in the presence of rectilinear barriers , 1984, Networks.

[11]  Linda G. Shapiro,et al.  A new connected components algorithm for virtual memory computers , 1983, Comput. Vis. Graph. Image Process..

[12]  Hanan Samet,et al.  Computing Geometric Properties of Images Represented by Linear Quadtrees , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[13]  Dilip V. Sarwate,et al.  Computing connected components on parallel computers , 1979, CACM.

[14]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1977, CACM.

[15]  Hanan Samet,et al.  Connected Component Labeling Using Quadtrees , 1981, JACM.

[16]  James J. Little,et al.  Parallel Algorithms for Computer Vision on the Connection Machine , 1986 .