A method of producing barcode locations within a document comprising: (a) providing an original digital image of the document; (b) using a processor for: (i) producing a normalized image from the original digital image; (ii) producing a binarized gradient image from the normalized image; (iii) producing a plurality of bounding boxes from the gradient image; and (iv) producing bounding box test results by testing each bounding box for the presence of a barcode, wherein producing bounding box test results includes, for each bounding box region within the normalized image, testing for the presence of both a minimum barcode pixel value and a maximum barcode pixel value, wherein for each bounding box region within the gradient image, computing a barcode black pixel to white pixel ratio and comparing it to a barcode black pixel to white pixel ratio threshold value; leading to a rejection of the bounding box if the barcode black pixel to white pixel ratio is more than a predetermined value; and (c) producing a list of barcode locations within the document from the bounding boxes that pass both of the bounding box test results. (a) providing an original digital image of the document; (b) using a processor for: (i) producing a normalized image from the original digital image; (ii) producing a binarized gradient image from the normalized image; (iii) producing a plurality of bounding boxes from the gradient image; and (iv) producing bounding box test results by testing each bounding box for the presence of a barcode, wherein producing bounding box test results includes, for each bounding box region within the normalized image, testing for the presence of both a minimum barcode pixel value and a maximum barcode pixel value, wherein for each bounding box region within the gradient image, computing a barcode black pixel to white pixel ratio and comparing it to a barcode black pixel to white pixel ratio threshold value; leading to a rejection of the bounding box if the barcode black pixel to white pixel ratio is more than a predetermined value; and (i) producing a normalized image from the original digital image; (ii) producing a binarized gradient image from the normalized image; (iii) producing a plurality of bounding boxes from the gradient image; and (iv) producing bounding box test results by testing each bounding box for the presence of a barcode, wherein producing bounding box test results includes, for each bounding box region within the normalized image, testing for the presence of both a minimum barcode pixel value and a maximum barcode pixel value, wherein for each bounding box region within the gradient image, computing a barcode black pixel to white pixel ratio and comparing it to a barcode black pixel to white pixel ratio threshold value; leading to a rejection of the bounding box if the barcode black pixel to white pixel ratio is more than a predetermined value; and wherein producing bounding box test results includes, for each bounding box region within the normalized image, testing for the presence of both a minimum barcode pixel value and a maximum barcode pixel value, wherein for each bounding box region within the gradient image, computing a barcode black pixel to white pixel ratio and comparing it to a barcode black pixel to white pixel ratio threshold value; leading to a rejection of the bounding box if the barcode black pixel to white pixel ratio is more than a predetermined value; and (c) producing a list of barcode locations within the document from the bounding boxes that pass both of the bounding box test results.