1. A computer-implemented method, comprising: under the control of one or more computer systems configured with executable instructions, receiving an input image that includes at least one image variation; filtering and segmenting the input image; selecting regions within the filtered and segmented input image having connected components; creating a mask corresponding to the regions of connected components, the mask including bounding boxes that at least partially enclose corresponding regions of the connected components; intersecting the filtered and segmented input image with the mask to produce a first output image; separately processing the filtered and segmented input image corresponding to the mask to create a binary output image; separately recognizing text in the first output image and in the binary output image using an optical character recognizer; and combining the separately recognized text from the first output image and from the binary output image to produce a single output.