1. A method of identifying one or more image features of an image based on content of the image, comprising: receiving an image at a processor of a mobile device; correcting a distortion and a tone of the image with the processor; segmenting the corrected image and extracting the one or more image features; generating an input image descriptor based on the one or more extracted image features, wherein the input image descriptor is a histogram of a count of gradient magnitudes at different angles; matching the input image descriptor with a reference image descriptor; and performing an action based on the matched reference image descriptor.