Patent Document ID: 5379350
Application ID: 08019374
Patent Status: 1

Claim One:
1. A method of extracting a closed-loop contour of an image part in a binary image including a plurality of pixels, said closed-loop contour being expressed by a vector sequence including a plurality of contour vectors each connecting vertices of said closed-loop contour, each said vertex being defined by boundary coordinates (Xb, Yb) indicating a position at a boundary between pixels, said method comprising the steps of: (a) preparing binary image data representing said binary image, and storing said binary image data in an image memory; (b) selecting two adjacent scanning lines parallel to an axis of the boundary coordinate Xb; (c) converting said binary image data for said selected two adjacent scanning lines into two sets of run-data, and storing said two sets of run-data in a run-data memory, each said run-data expressing boundary positions at which the binary level of said binary image data changes, each said boundary position being expressed by said boundary coordinate Xb; (d) comparing said two sets of run-data with each other to detect a first Xb-vector, said first Xb-vector being one of said plurality of contour vectors and extending along the axis of said boundary coordinate Xb between said selected two adjacent scanning lines, to thereby store coordinate data of a start point and an end point of said first Xb-vector in a vector data memory; detecting a Yb-vector extending in the axis of said boundary coordinate Yb as a result of said comparison, said Yb-vector being one of said plurality of contour vectors and connecting said first Xb-vector with a second detected Xb-vector to thereby store coordinate data representing a start point and an end point of said Yb-vector in said vector data memory, and generating link data indicating connection among said Yb-vector, said first Xb-vector and said second Xb-vector to form a vector sequence, and storing said link data in said vector data memory; and detecting a closed-loop contour represented by said vector sequence; (e) producing closed-loop vector data representing said closed-loop contour; and (f) repeating said steps (b) through (e) while updating said two adjacent scanning lines by one scanning line at a time, to thereby extract at least one closed-loop contour in said binary image, wherein said step (d) comprises the steps of: (d-1) producing correspondence data representing a positional relationship between a starting point and a terminal point of said vector sequence, to store said correspondence data in a data register; and (d-2) identifying said vector sequence as that representing a closed-loop contour when said correspondence data of said vector sequence indicates that said starting point and said terminal point of said vector sequence are identical with each other, and wherein said data register comprises a first register for storing a first address value of said vector data memory, at which said coordinate data of said starting point of said vector sequence is stored, at a position in said first register corresponding to the boundary coordinate value Xb of said starting point, and a second address value of said vector data memory, at which said coordinate data for said terminal point of said vector sequence is stored, at a position in said first register corresponding to the boundary coordinate value Xb of said terminal point; a second register for storing the boundary coordinate value Xb of said starting point of said vector sequence at a position in said second register corresponding to the boundary coordinate value Xb of said terminal point of said vector sequence; and a third register for storing the boundary coordinate value Xb of said terminal point of said vector sequence at a position in said third register corresponding to the boundary coordinate value Xb of said starting point of said vector sequence.