A vectorizer which uses horizontal and vertical runs in order to convert bitmap drawing to vector drawing is proposed. The whole vectorizing process is composed of skeletonizing process to deal with thin line conponents, of contour extracting process to deal with thick regions, and of circle finding process.
The skeletonizing process is composed of extracting the skeleton points of drawing as horizontal and vertical runs, and of linking them as run lists, and of finding junctions and constructing graph by searching neighbors, and finally, of correcting errors. The remainded portions of skeleton extraction are thick regions. The vectorizer extracts contour from them, and find straight lines. It also find circles from the extracted skeletons by Hough Transform.
Depending on the locality of primitives in drawing, it can vectorize drawings with only a part of the bitmap image of a drawing on memory. According to the experimental result, it could vectorize a large drawing with very small amount of memory and time with respect to the size of drawing and could extract some more information such as the width of line components.