Patent US6000618A successfully refreshed from Google Patents.
US6000618A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method of reading an object-applied bar code
Assignee: Datalogic SpA
•
Filing: 1997-12-30
•
Granted: 1999-12-14
•
Expires: 2017-12-30
Abstract
Abstract A method whereby the image of a bar code is located in a digitized image of an object traveling along a conveyor belt; the orientation of the longitudinal axis of the code with respect to a reference system of the image is determined, and the code is scanned along lines parallel to the longitudinal axis of the code to generate respective vectors describing the pattern of the code image brightness signal along the respective line; and the vectors are digitized and projected to generate a real-number vector containing the coordinates of the brightness signal transition points indicating the shape and location of the code elements.
Inventors
- 👤 Claudio Saporetti
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 14:24
CPC Classifications
G; G06; G06K; G06K7/00; G06K7/10; G06K7/14
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
270 words
A method of reading a bar code applied to an object (7), and comprising: an image acquisition step (121) wherein at least one image (I) of an object (7) bearing said bar code (BC) is acquired; and a locating step (122) wherein a location of the bar code within said image (I) is determined; the method further comprising: an orientation detecting step (123) for determining the orientation (*) of a longitudinal axis (H) of the bar code with respect to a reference system (X, Y); a scanning step (125) for generating at least two (n) vectors (V(x)), each containing code image samples detected along respective lines (R1, R2, . . . , Rn) parallel to the longitudinal axis (H) of the code; each vector describing a pattern of a signal representing the brightness V(x) of the code image along the respective line (R1, R2, . . . , Rn); a digitizing step (128) for digitizing said vectors (V(x)) and generating, for each examined vector, an output vector containing at least coordinates of a number of transition points (xti) located along a respective line (R1, R2, . . . , Rn); pairs of adjacent transition points (xti, Xti+1) defining the limits of a significant segment (Sbi) corresponding to a width of a black bar of the bar code; and a significant segments (Sbi) alternating with space segments (Swi) corresponding to white spaces of the code; a grouping step (138, 142) wherein said coordinates (xti) of said digitized vectors are composed to generate a single output vector; and a processing step (144) for processing said output vector to decode the bar code.
Claim 2
Independent Claim
270 words
A method of reading a bar code applied to an object (7), and comprising: an image acquisition step (121) wherein at least one image (I) of an object (7) bearing said bar code (BC) is acquired; and a locating step (122) wherein a location of the bar code within said image (I) is determined; the method further comprising: an orientation detecting step (123) for determining the orientation (*) of a longitudinal axis (H) of the bar code with respect to a reference system (X, Y); a scanning step (125) for generating at least two (n) vectors (V(x)), each containing code image samples detected along respective lines (R1, R2, . . . , Rn) parallel to the longitudinal axis (H) of the code; each vector describing a pattern of a signal representing the brightness V(x) of the code image along the respective line (R1, R2, . . . , Rn); a digitizing step (128) for digitizing said vectors (V(x)) and generating, for each examined vector, an output vector containing at least coordinates of a number of transition points (xti) located along a respective line (R1, R2, . . . , Rn); pairs of adjacent transition points (xti, Xti+1) defining the limits of a significant segment (Sbi) corresponding to a width of a black bar of the bar code; and a significant segments (Sbi) alternating with space segments (Swi) corresponding to white spaces of the code; a grouping step (138, 142) wherein said coordinates (xti) of said digitized vectors are composed to generate a single output vector; and a processing step (144) for processing said output vector to decode the bar code.
Claim 3
Dependent Claim
66 words
A method as claimed in claim 1, characterized in that said grouping step (138, 142) further comprises the steps of: determining (138) any shift between groups of transition points (xti) on different lines (R1, R2, . . . , Rn); and applying to at least some of said groups of transition points a shift opposite to a detected shift, to realign (138) said groups of points.
Claim 4
Dependent Claim
91 words
A method as claimed in claim 2, characterized in that said step of determining any shift comprises the steps of: determining code-start coordinates (x 1 ) of groups of transition points (Xti) on different lines (R1, R2, . . . , Rn); iteratively calculating a number of distances (s i [i]) between the code-start values (x 1 ) of one line and code-start values of an adjacent line; calculating a mean value (S 1m ) of said distances (s); and assuming said mean value (S 1m ) as representing said shift.
Claim 5
Dependent Claim
44 words
A method as claimed in claim 3, characterized by also comprising the steps of: calculating a histogram function of said distances; extracting a highest-frequency class from said histogram function; and calculating said shift as the mean value of distance values in the highest-frequency class.
Claim 6
Dependent Claim
89 words
A method as claimed in claim 2, characterized in that said step of determining any shift (138) comprises the steps of: determining code-end coordinates (x 2 ) of groups of transition points on different lines (R1, R2, . . . , Rn); iteratively calculating a number of distances (s 2 [i]) between code-end values (x 2 ) of one line and code-end values of an adjacent line; calculating a mean value (S 2m ) of said distances; and assuming said mean value (S 2m ) as representing said shift.
Claim 7
Dependent Claim
152 words
A method as claimed in claim 2, characterized in that said step of determining any shift (138) comprises the steps of: successively determining, for each line, distances between the code start of groups of transition points on that particular line, and a code start of groups of transition points on the other (n-1) lines; each calculated distance being weighted according to a distance between the pair of lines considered, by dividing said distance by a whole number, which equals one in the case of the distance between the line being examined and the adjacent line, and which increases by one for each successive line (S i ,j =(x 1 [i]-x 1 [j])/(i-j) where iε[1,n-1]jε[i+1,n]); repeating said distance determining step for all the lines (R1, R2, . . . , Rn), to determine a number of distances; calculating a mean value of said distances; and assuming said mean value as representing the shift.
Claim 8
Dependent Claim
152 words
A method as claimed in claim 2, characterized in that said step of determining any shift 138) comprises the steps of: successively determining, for each line, distances between a code end of groups of transition points on that particular line, and the code end of groups of transition points on other (n-1) lines; each calculated distance being weighted according to a distance between the pair of lines considered, by dividing said distance by a whole number, which equals one in the case of the distance between the line being examined and the adjacent line, and which increases by one for each successive line (s i ,j =(x 2 [i]-x 2 [j])/(i-j) where iε[1,n-1] jε[i+1,n]); repeating said distance determining step for all the lines (R1, R2, . . . , Rn), to determine a number of distances; calculating a mean value of said distances; and assuming said mean value as representing the shift.
Claim 9
Dependent Claim
194 words
A method as claimed in claim 2, characterized in that said step of applying to at least some of said groups of transition points a shift opposite to the detected shift is followed by a projection step (142) wherein: significant segments (Sb1, Sb2, . . . , Sbn) corresponding to different scan lines (R1, R2, . . . , Rn) are arranged in parallel paths having a same origin; the significant segments (Sb1, Sb2, . . . , Sbn) defining a number of source segments; a further path (P) parallel to the parallel paths and having the same origin is defined; for each point in the further path, a number of corresponding significant segments in the other paths is calculated; the calculated number is compared with a threshold (Th), and, if said number is above the threshold (Th), the point in the further path is assumed to form part of a significant segment (Sp) in the further path; the further path comprising a number of significant segments (Sp) which are a projection of the significant source segments; and said significant segments being defined by transition points (xtpi) forming part of said single output vector.
Claim 10
Dependent Claim
89 words
A method as claimed in claim 8, characterized in that said projection step (142) also comprises the steps of: calculating, for each point in the further path (P), a number of corresponding valid source lines; a line being valid if a portion surrounding the point being examined contains no no-transition portion; if the number of valid source lines exceeds a limit value, said threshold (Th) being defined as: Th=ceil(number of valid lines/2) where Th represents said threshold, and the ceil(x) function restores the minimum whole number greater than x.
Claim 11
Dependent Claim
87 words
A method as claimed in claim 1, characterized in that said orientation detecting step (123) comprises the steps of: defining a rectangular window (24) containing said code; determining at least a first and second distance (DX, DY) between a reference point (O) of said rectangular window (24) and a first and second point (S1, S2) at which respective end portions of a black bar (S) of the bar code intersect said window (24); and calculating an angle (α) indicating said orientation by means of said distances (arctg(DX/DY)).
Claim 12
Dependent Claim
49 words
A method as claimed in claim 10, characterized in that, if the orientation of the code (α) is close to 0° or 90°, the orientation of the code is so determined that the longitudinal axis (H) of the code itself corresponds to the longer side of said window (24).
Claim 13
Dependent Claim
75 words
A method as claimed in claim 1, characterized in that, if a ratio between sides of the code is close to one, said orientation detecting step comprises the steps of: selecting a central portion of the bar code; calculating a mean value vector of gradients of the image in said central portion; and determining the orientation of the mean value vector of the gradients with respect to a reference system (X,Y) to calculate said orientation.
Claim 14
Dependent Claim
57 words
A method as claimed in claim 1, characterized in that said orientation detecting step is followed by a rotation step wherein, on the basis of the orientation (α) determined, a transformation is performed from a source reference system (X,Y) to a destination reference system (X',Y') wherein said longitudinal axis (H) is parallel to a coordinate axis (X).
References Cited (Backward Citations)
US5134272A
Cited
EP0431264A2
Cited
EP0449634A2
Cited
US5155343A
Cited
US5296691A
Cited
US5412197A
Cited
US5550363A
Cited
US5521368A
Cited
US5523552A
Cited
US5698833A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-12-13 | 2003-06-14 | 2003-12-14 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-12-13 | 2007-06-14 | 2007-12-14 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-12-13 | 2011-06-14 | 2011-12-14 | $7700.00 | Window Closed / Lapsed |