1. An image processor system, comprising: at least one processor; and at least one nontransitory processor-readable storage medium communicatively coupled to the at least one processor and which stores at least one of processor-executable instructions or data, wherein in use the at least one processor: receives an image file from the at least one nontransitory processor-readable storage medium, the image file comprising a two-dimensional array of pixels, each of the pixels having a pixel value; partitions the image file into a two-dimensional array of regions comprising a plurality of rows and a plurality of columns, each of the regions comprising a plurality of the pixels; for each region, determines a characteristic value indicative of whether the region contains foreground or background; analyzes the determined characteristic values of the regions to identify a number of candidate directions or orientations for straight lines of characters in the image; selects one of the number of candidate directions or orientations for straight lines of characters in the image based at least in part on the analyzed determined characteristic values of the regions to identify one or more lines of characters; for each line of the identified one or more lines of characters, analyzes the determined characteristic values for the regions within the line to determine a probable inter-character spacing, wherein, to analyze the determined characteristic values, the at least one processor: sums the characteristic values of the regions within each column within the line to generate an intensity profile for the line; and analyzes the intensity profile to determine the probable inter-character spacing, wherein to analyze the intensity profile, the at least one processor: analyzes the intensity profile to identify transitions between foreground and background; determines a most frequent distance between the identified transitions between foreground and background; and selects the determined most frequent distance as the probable inter-character spacing; identifies a starting character region based at least in part on the determined characteristic values and the determined probable inter-character spacing; and recognizes a character within the starting character region.