1. A barcode reading system for a mobile device, the mobile device comprising a processor, memory, and a camera comprising an image sensor array and a white light source, the barcode reading system comprising: a barcode reading accessory comprising an optic system positioned within a field of illumination of the white light source when the barcode reading accessory is secured to the mobile device, the optic system comprising: an optical filter configured to pass a limited spectrum of illumination emitted by the white light source; and a collimating optic configured to shape the field of illumination of the white light source to produce a targeting illumination pattern in a target area; and a barcode reading application stored in the memory and executable by the processor, the barcode reading application comprising: an image capture function configured to control the camera to capture a color image of the target area, wherein the color image comprises a plurality of sub-images corresponding to different portions of the image sensor array, wherein the different portions of the image sensor array have different sensitivity to different bands of the illumination emitted by the white light source, and wherein one portion of the image sensor array is more sensitive to the limited spectrum passed by the optical filter than other portions of the image sensor array; an image processing function configured to create a grayscale composite image of a barcode by combining at least two sub-images of the plurality of sub-images using weights, wherein the weights are selected such that a contribution from a sub-image captured by the portion of the image sensor array most sensitive to the limited spectrum passed by the optical filter is smaller than contributions from other sub-images; and a decoder function configured to receive the grayscale composite image of the barcode and generate decoded data representing data encoded in the barcode.