Patent ID: 7218782

Claim:
A method of automatically recognizing alphanumeric symbols, comprising: (a) receiving digital information indicative of an unrecognized alphanumeric symbol; (b) computing one or more arcpolys of the unrecognized alphanumeric symbol; (c) computing at least one symbolic representation of the unrecognized alphanumeric symbol based on the arcpolys; (d) generating a plurality of candidate lists of alphanumeric symbols; (e) generating a reduced list of candidate alphanumeric symbols and alphanumeric confidence levels from the plurality of candidate lists based on the symbolic representation of the unrecognized alphanumeric symbol and a stored candidate list, wherein the reduced candidate list contains candidates which are common to a plurality of candidate lists; (f) determining a best candidate in the reduced list of candidate alphanumeric symbols and automatically validating the best candidate; (g) if the best candidate cannot be validated, performing a multi-phase symbolic reshaping on the arcpolys so as to obtain a different symbolic representation of the unrecognized alphanumeric symbol so that the unrecognized alphanumeric symbol can be recognized; (h) wherein the multi-phase symbolic reshaping includes a phase comprising: criteria-based region growing and splitting of arcpolys so that they better conform to a plurality of alphanumeric symbol models included in a stored candidate list; and computing a multi-stage post-processing of arcpolys so that they better conform to a plurality of alphanumeric symbol models; and (i) wherein the criteria based growing and splitting comprises: computing row-based median and column-based median to derive a threshold used for grouping polyline points into cluster(s) of points; detecting significant bends on adjoining lines or detecting significant line size(s) for arcpolys which comprise a (I) line and an arc, or (II) line and a line, and splitting them at a splitting point whereby the two arcpolys best conform to stored alphanumeric symbol models; and detecting arcpolys which are significantly more extended than a half circle and splitting them at a splitting point whereby the two arcpolys best conform to stored alphanumeric symbol models.