1. A method for recognizing patterns, the method comprising the steps of: generating a digital image of one or more physical items; identifying line segments in the digital image; grouping together adjacent line segments of the image that form features; storing the coordinates of the features to a file, the coordinates of the feature define a portion of the digital image containing the feature; dividing the portion of the digital image containing the feature into a number of cells, wherein the number of cells is less than the number of pixels in each feature; generating a count of the number of pixels that are set in each cell; assigning a value to each cell based on whether the count for the cell exceeds a threshold; indexing into a look-up table using the numerical representations to determine candidate pattern-types for the features wherein the look-up table was generated by using a number of sample patterns and at least one transformer that generates patterns by applying the transformer to the sample patterns; and selecting among the candidate pattern-types with selected validation modules that determine the pattern-type of each feature.