34. A system to process at least one document image comprising a plurality of text rows and a plurality of characters, each text row having at least one character, wherein the plurality of text rows have been classified into two or more classes, each class comprising one or more particular text rows, system comprising: at least one processor; a pattern matching system comprising modules executed by the at least one processor, the modules comprising: a binary average row generator to determine a corresponding binary average row for each of the one or more classes, wherein each corresponding binary average row comprises binary values specifying whether a particular column position in the corresponding binary average row comprises a character block or a white space; an average row generator to determine an average row vector for each class based on the corresponding binary average row, wherein each average row vector correspond to one particular class; an interpolation grouping module to: interpolate the average row vector for the each class to generate corresponding interpolation vector data; determine a correlation value between the corresponding interpolation vector data for at least two selected classes of text rows; a distance grouping module to: determine a distance between the corresponding binary average rows for the at least two selected classes when the correlation value is less than the threshold correlation value; compare the distance to a threshold distance; and group the at least two selected classes of text rows into the first combined class when the distance is less than the threshold distance.
34. A system to process at least one document image comprising a plurality of text rows and a plurality of characters, each text row having at least one character, wherein the plurality of text rows have been classified into two or more classes, each class comprising one or more particular text rows, system comprising: at least one processor; a pattern matching system comprising modules executed by the at least one processor, the modules comprising: a binary average row generator to determine a corresponding binary average row for each of the one or more classes, wherein each corresponding binary average row comprises binary values specifying whether a particular column position in the corresponding binary average row comprises a character block or a white space; an average row generator to determine an average row vector for each class based on the corresponding binary average row, wherein each average row vector correspond to one particular class; an interpolation grouping module to: interpolate the average row vector for the each class to generate corresponding interpolation vector data; determine a correlation value between the corresponding interpolation vector data for at least two selected classes of text rows; a distance grouping module to: determine a distance between the corresponding binary average rows for the at least two selected classes when the correlation value is less than the threshold correlation value; compare the distance to a threshold distance; and group the at least two selected classes of text rows into the first combined class when the distance is less than the threshold distance. 41. The system of claim 34 wherein the threshold correlation value is equal to 0.85.