Techniques for decoding images of barcodes
First Claim
1. A computer-readable storage medium encoded with computer-executable instructions which, when executed by a processor, perform a method comprising:
- identifying a first image of a computer-readable symbol obtained by an image capture device, the computer-readable symbol representing information encoded using a visual symbology arranged on a surface, the visual symbology comprising a plurality of modules of predetermined sizes, each module having a binary reflectance value;
based on either the blurriness of the first image or the tilt of the image capture device relative to the surface or both, calculating a success metric associated with the first image;
based on the success metric, prior to attempting to decode the visual symbology within the first image, determining a likelihood of successfully decoding the visual symbology within the first image;
when there is determined to be a likelihood of successfully decoding the visual symbology within the first image, arranging for decoding the visual symbology within the first image; and
when there is determined not to be a likelihood of successfully decoding the visual symbology within the first image,not arranging for decoding the visual symbology within the first image,identifying a second image of the computer-readable symbol obtained by the image capture device,based on either the blurriness of the second image or the tilt of the image capture device relative to the surface or both, calculating a success metric associated with the second image, andbased on the success metric associated with the second image, determining a likelihood of successfully decoding the visual symbology within the second image.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques for enhancing the reliable and efficient decoding of images of computer-readable symbols, which represent information encoded using a one- or two-dimensional visual symbology, are discussed. In accordance with one technique, prior to attempting to decode a particular image, a likelihood of successfully decoding the visual symbology from the image is determined based on a success metric. The success metric is calculated based on the blurriness of the image, or the tilt of the camera that captured the image, or both. Levels of blurriness or tilt, and the likelihood of decoding success, are ascertained with respect to predetermined reference values associated with generally decodable images. In accordance with another technique, image-sharpening algorithms are applied at select locations within the image. Such locations generally correspond to centers of modules within the visual symbology of the computer-readable symbol, which are assigned values based on grayscale values of proximate pixels in the image.
33 Citations
20 Claims
-
1. A computer-readable storage medium encoded with computer-executable instructions which, when executed by a processor, perform a method comprising:
-
identifying a first image of a computer-readable symbol obtained by an image capture device, the computer-readable symbol representing information encoded using a visual symbology arranged on a surface, the visual symbology comprising a plurality of modules of predetermined sizes, each module having a binary reflectance value; based on either the blurriness of the first image or the tilt of the image capture device relative to the surface or both, calculating a success metric associated with the first image; based on the success metric, prior to attempting to decode the visual symbology within the first image, determining a likelihood of successfully decoding the visual symbology within the first image; when there is determined to be a likelihood of successfully decoding the visual symbology within the first image, arranging for decoding the visual symbology within the first image; and when there is determined not to be a likelihood of successfully decoding the visual symbology within the first image, not arranging for decoding the visual symbology within the first image, identifying a second image of the computer-readable symbol obtained by the image capture device, based on either the blurriness of the second image or the tilt of the image capture device relative to the surface or both, calculating a success metric associated with the second image, and based on the success metric associated with the second image, determining a likelihood of successfully decoding the visual symbology within the second image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18)
-
-
12. A computer-readable storage medium encoded with computer-executable instructions which, when executed by a processor, perform a method for decoding an image of a computer-readable symbol obtained by an image capture device, the computer-readable symbol representing information encoded using a visual symbology arranged on a surface, the visual symbology comprising a plurality of modules, each module having a binary reflectance value, the image comprising a plurality of pixels, each pixel having a grayscale value, the method comprising:
-
within the image, identifying a number of groups of pixels, each group of pixels estimated to correspond to a particular module; within the image, identifying locations estimated to correspond to centers of modules within the visual symbology, each location having associated therewith proximate pixels from one or more groups of pixels, the proximate pixels within a predetermined proximity to the location; assigning a first value to each identified location to form an array of first values, each first value based on a relationship between grayscale values of the proximate pixels associated with the location; applying a predetermined image processing algorithm to the array of first values to produce an array of a second values for each identified location; and based on the array of second values, arranging to estimate the binary reflective values of the modules corresponding to the identified locations within the image, the estimated binary reflective values usable to retrieve the information encoded using the visual symbology. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
19. An electronic device, comprising:
-
an image capture device operable to obtain an image of a computer-readable symbol, the image comprising a plurality of pixels, each pixel having a grayscale value, the computer-readable symbol representing information encoded using a visual symbology arranged on a surface, the visual symbology comprising a plurality of modules, each module having a binary reflectance value; a computer-readable storage medium; and a processor responsive to the computer-readable storage medium and to a computer program, the computer program, when loaded into the processor, operable to; receive the image from the image capture device; within the image, identify at least three sections, each section estimated to correspond to a finder pattern within the visual symbology; based on information obtained via examination of the at least three sections, ascertain a tilt of the image capture device relative to the surface or a level of blurriness of the image, or both; based on the tilt or the level of blurriness or both, determine a likelihood of successfully decoding the visual symbology within the image; and when there is determined to be a likelihood of successfully decoding the visual symbology, identify within the image a number of groups of pixels, each group of pixels estimated to correspond to a particular module, within the image, identify locations estimated to correspond to centers of modules within the visual symbology, each location having associated therewith proximate pixels from one or more groups of pixels, the proximate pixels within a predetermined proximity to the location, assign a first value to each identified location to form an array of first values, each first value based on a relationship between grayscale values of the proximate pixels associated with the location, apply a predetermined image processing algorithm to the array of first values to produce an array of a second values for each identified location, and based on the array of second values, arrange to estimate the binary reflective values of the modules corresponding to the identified locations within the image, the estimated binary reflective values usable to retrieve the information encoded using the visual symbology. - View Dependent Claims (20)
-
Specification