1. A method of performing decoding of a barcode associated with a product label, the product label including one or more barcodes and other product label information, the method comprising: an image capturing device capturing an image of the product label and storing the captured image in a memory operatively associated with the image capturing device; a processor operatively associated with the memory detecting and localizing one or more barcode candidate regions within the captured image of the product label, the barcode candidate regions including a substantially fewer number of pixels relative to a total number of pixels included in the captured pixel image of the product label; cropping the detected and localized one or more barcode candidate regions to generate one or more sub-images including images of the one or more barcode candidate regions; processing each sub-image using two or more independent image quality improvement processes to generate modified versions of the barcode candidate regions; and processing the modified versions of the barcode candidate regions to decode readable barcodes included in the modified versions of the candidate barcode regions.