1. A computer-implemented method of processing an image, comprising: receiving an image captured by a mobile device; performing a shape detection test on the image to produce a first set of coordinates representing a set of edges of the image; performing a feature detection test on the image to produce a second set of coordinates associated with a feature set of the image; combining the first set of coordinates and the second set of coordinates to generate a set of adjustment parameters associated with the image; adjusting the image based at least on the adjustment parameters; binarizing the adjusted image to produce a binarized adjusted image; and outputting the binarized adjusted image.