High speed image acquisition system and method of processing and decoding barcode symbol
First Claim
Patent Images
1. A method for locating a coded symbology on at least a portion of a surface, comprising the steps of:
- (a) scanning said portion to produce an electronic representation thereof;
(b) analyzing said electronic representation for a plurality of transitions;
(c) evaluating representations having a plurality of transitions by tracing a first transition to determine said first transition height and curvature;
(d) discarding said representation when said first transition has been determined to have a curvature and repeating step (a);
(e) searching for an end transition that is different from said first transition;
(f) calculating the distance between said first transition and said end transition;
(g) comparing said height to said distance to determine an aspect ratio;
(h) discarding said representation when said aspect ratio exceeds a predetermined threshold;
(i) tracing said end transition to determine said end transition height and curvature;
(j) discarding said representation when said end transition has been determined to have a curvature and repeating step (a); and
(k) saving said representation for further processing.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for high speed acquisition and decoding of a barcode symbol locates potential barcode candidates within a scanned image and filters the candidates to eliminate invalid data. The system permits computational resources to be focused on decoding information most likely to be an actual barcode symbol. Once a potential barcode candidate has been located, the barcode symbol is processed to determine the barcode orientation and symbology. Each element of the barcode symbol is then located, even if all elements are not visible in the original image, and the barcode symbol is decoded in accordance with the specific symbology.
73 Citations
7 Claims
-
1. A method for locating a coded symbology on at least a portion of a surface, comprising the steps of:
-
(a) scanning said portion to produce an electronic representation thereof; (b) analyzing said electronic representation for a plurality of transitions; (c) evaluating representations having a plurality of transitions by tracing a first transition to determine said first transition height and curvature; (d) discarding said representation when said first transition has been determined to have a curvature and repeating step (a); (e) searching for an end transition that is different from said first transition; (f) calculating the distance between said first transition and said end transition; (g) comparing said height to said distance to determine an aspect ratio; (h) discarding said representation when said aspect ratio exceeds a predetermined threshold; (i) tracing said end transition to determine said end transition height and curvature; (j) discarding said representation when said end transition has been determined to have a curvature and repeating step (a); and (k) saving said representation for further processing. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for decoding an electronic representation of a coded symbology, the symbology including a beginning and an end, the method comprising:
- analyzing said electronic representation for data portions which have a greater relative value, comprising peaks, and data portions which have a lesser relative value, comprising valleys;
locating said beginning and said end of the code symbology based upon said peaks and valleys; determining the number and location of wide bars and wide spaces based upon said peaks and valleys; decoding said barcode symbology using the results of said locating and determining steps; said electronic representation comprising gray scale data for each of a plurality of CCD pixels and said analyzing step further comprising determining the magnitude of each said peak and valley, calculating a threshold for each said magnitude, comparing each said peak and valley to its calculated threshold and storing the results of each said comparison; said locating step further including determining an orientation of said coded symbology, and determining the type of barcode symbology based upon said number and location of wide bars and wide spaces; and said orientation determining step further including determining a first distance from the wide bar closest to the beginning of the coded symbology to said beginning, determining a second distance from the wide bar closest to the end of the coded symbology to said end, and comparing said distances, the orientation being forward if said second distance is greater than said first distance and the orientation being reversed if said second distance is less than said first distance.
- analyzing said electronic representation for data portions which have a greater relative value, comprising peaks, and data portions which have a lesser relative value, comprising valleys;
-
7. A system for locating a coded symbology on at least a portion of a surface, comprising:
-
(a) means for scanning said portion to produce an electronic representation thereof; (b) means for analyzing said electronic representation for a plurality of transitions; (c) means for evaluating representations having a plurality of transitions by tracing a first transition to determine said first transition height and curvature; (d) means for discarding said representation when said first transition has been determined to have a curvature and repeating step (a); (e) means for searching for an end transition that is different from said first transition; (f) means for calculating the distance between said first transition and said end transition; (g) means for comparing said height to said distance to determine an aspect ratio; (h) means for discarding said representation when said aspect ratio exceeds a predetermined threshold; (i) means for tracing said last end transition to determine said end transition height and curvature; (j) means for discarding said representation when said end transition has been determined to have a curvature and repeating step (a); and (k) means for saving said representation for further processing.
-
Specification