1. A method of operating an optical code, the method comprising: capturing an image from the item scanning area of the optical code scanner; generating a sequence of reduced resolution images from the captured image wherein each successive generated image has a lower resolution than the prior image; starting with a generated image with a lowest resolution and continuing through the sequence with a generated image with a next lowest resolution until an optical code candidate is determined to be included in a respective generated image: enhancing the contrast of the generated image with a lowest resolution, not previously enhanced, to improve the quality of the image; identifying a region of interest in the enhanced generated image with the highest resolution; determining whether the region of interest includes the optical code candidate; in response to determining that the region of interest includes the optical code candidate, modifying a portion of the captured image that corresponds to the region of interest to correct for geometrical distortion; and recovering optical code data from the optical code candidate located in the modified portion of the captured image.