Method for reading a two-dimensional barcode
First Claim
1. A method of decoding information stored in a two-dimensional barcode printed on a printed medium, comprising the steps of:
- scanning a two-dimensional barcode to create a two-dimensional pixel array representing said two-dimensional barcode;
determining the horizontal edge count in each row of pixels in said two-dimensional pixel array;
determining the vertical edge count in each column of pixels in said two-dimensional pixel array;
determining the column centerlines by locating each successive pair of peaks in said horizontal edge counts, and then locating a column centerline in a valley region between each successive pair of peaks;
determining the row centerlines by locating each successive pair of peaks in said vertical edge counts, and then locating a row centerline in a valley region between each successive pair of peaks; and
reading out binary data located at the intersection of each row centerline and column centerline to produce a signal representative of the encoded information in said two-dimensional barcode.
1 Assignment
0 Petitions
Accused Products
Abstract
Two embodiments of a method of decoding information stored in a two-dimensional barcode printed on a printed medium are introduced. Both embodiments provide an improved method of analyzing horizontal and vertical edge count arrays to identify the column and row centerlines therein to enable the subsequent reading of the binary data located at the intersection of each row centerline and column centerline. In the first embodiment, the centerlines are located by first locating each successive pair of peaks in the respective edge count array, where each peak must have a magnitude greater than a first predetermined value, and then locating a centerline in a valley region between each successive pair of peaks, each of the centerlines having a magnitude less than a second predetermined value. Preferably, each successive pair of peaks in the respective edge count array is separated by a third predetermined value. In addition, the first predetermined value is preferably reduced by a predetermined amount if a second peak within a pair of peaks in the respective edge count array is separated from a first peak by more than a fourth predetermined value, and the second peak is then re-identified using the reduced first predetermined value. The second embodiment alternately employs the method of the first embodiment or a prior art method to reduce the number of errors produced, using the prior art method first to locate the column centerlines and the method of the first embodiment first to locate the row centerlines.
106 Citations
16 Claims
-
1. A method of decoding information stored in a two-dimensional barcode printed on a printed medium, comprising the steps of:
-
scanning a two-dimensional barcode to create a two-dimensional pixel array representing said two-dimensional barcode;
determining the horizontal edge count in each row of pixels in said two-dimensional pixel array;
determining the vertical edge count in each column of pixels in said two-dimensional pixel array;
determining the column centerlines by locating each successive pair of peaks in said horizontal edge counts, and then locating a column centerline in a valley region between each successive pair of peaks;
determining the row centerlines by locating each successive pair of peaks in said vertical edge counts, and then locating a row centerline in a valley region between each successive pair of peaks; and
reading out binary data located at the intersection of each row centerline and column centerline to produce a signal representative of the encoded information in said two-dimensional barcode. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of decoding information stored in a two-dimensional barcode printed on a printed medium, comprising the steps of:
-
scanning a two-dimensional barcode to create a two-dimensional pixel array representing said two-dimensional barcode;
determining the horizontal edge count in each row of pixels in said two-dimensional pixel array;
determining the vertical edge count in each column of pixels in said two-dimensional pixel array;
determining the column centerlines by locating each successive pair of peaks in said horizontal edge counts, each of said peaks having a magnitude greater than a predetermined peak threshold and each of said successive pair of peaks being separated by at least a predetermined distance, and then locating a column centerline in a valley region between each successive pair of peaks, each of said column centerlines having a magnitude less than a predetermined valley threshold;
determining the row centerlines by locating each successive pair of peaks in said vertical edge counts, each of said peaks having a magnitude greater than a predetermined peak threshold and each of said successive pair of peaks being separated by at least a predetermined distance, and then locating a row centerline in a valley region between each successive pair of peaks, each of said row centerlines having a magnitude less than a predetermined valley threshold; and
reading out binary data located at the intersection of each row centerline and column centerline to produce a signal representative of the encoded information in said two-dimensional barcode.
-
-
7. A method of decoding information stored in a two-dimensional barcode printed on a printed medium, comprising the steps of:
-
scanning a two-dimensional barcode to create a two-dimensional pixel array representing said two-dimensional barcode;
determining the horizontal edge count in each row of pixels in said two-dimensional pixel array;
determining the vertical edge count in each column of pixels in said two-dimensional pixel array;
determining the column centerlines by the steps of locating the local minima representing the column centerlines in said horizontal edge counts, and comparing the number of column centerlines located to a predetermined number, or alternately, locating, if the number of column centerlines located is not equal to the predetermined number, the column centerlines by locating each successive pair of peaks in said horizontal edge counts, and then locating a column centerline in a valley region between each successive pair of peaks;
determining the row centerlines by the steps of locating each successive pair of peaks in said vertical edge counts, locating a row centerline in a valley region between each successive pair of peaks, and then comparing the number of row centerlines located to a predetermined number, or alternately, locating, if the number of row centerlines located is not equal to the predetermined number, the row centerlines by locating the local minima representing the row centerlines in said vertical edge counts;
reading out binary data located at the intersection of each row centerline and column centerline to produce a signal representative of the encoded information in said two-dimensional barcode. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method of decoding information stored in a two-dimensional barcode printed on a printed medium, comprising the steps of:
-
scanning a two-dimensional barcode to create a two-dimensional pixel array representing said two-dimensional barcode;
determining the horizontal edge count in each row of pixels in said two-dimensional pixel array;
determining the vertical edge count in each column of pixels in said two-dimensional pixel array;
determining the row centerlines by the steps of locating the local minima representing the row centerlines in said vertical edge counts, and comparing the number of row centerlines located to a predetermined number, or alternately, locating, if the number of row centerlines located is not equal to the predetermined number, the row centerlines by locating each successive pair of peaks in said vertical edge counts, and then locating a row centerline in a valley region between each successive pair of peaks;
determining the column centerlines by the steps of locating each successive pair of peaks in said horizontal edge counts, locating a column centerline in a valley region between each successive pair of peaks, and then comparing the number of column centerlines located to a predetermined number, or alternately, locating, if the number of column centerlines located is not equal to the predetermined number, the column centerlines by locating the local minima representing the column centerlines in said horizontal edge counts;
reading out binary data located at the intersection of each row centerline and column centerline to produce a signal representative of the encoded information in said two-dimensional barcode. - View Dependent Claims (13, 14, 15, 16)
-
Specification