DE3854885T2 - Kombinieren von gelesenen Strichcode-Daten - Google Patents
Kombinieren von gelesenen Strichcode-DatenInfo
- Publication number
- DE3854885T2 DE3854885T2 DE3854885T DE3854885T DE3854885T2 DE 3854885 T2 DE3854885 T2 DE 3854885T2 DE 3854885 T DE3854885 T DE 3854885T DE 3854885 T DE3854885 T DE 3854885T DE 3854885 T2 DE3854885 T2 DE 3854885T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- bar code
- scan line
- address
- addresses
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 2
- 239000012634 fragment Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K5/00—Methods or arrangements for verifying the correctness of markings on a record carrier; Column detection devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/10861—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
- G06K7/10871—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels randomly oriented data-fields, code-marks therefore, e.g. concentric circles-code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/1092—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing by means of TV-scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1491—Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Toxicology (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Character Input (AREA)
- Image Processing (AREA)
- Image Input (AREA)
- Cash Registers Or Receiving Machines (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Verfahren und ein Gerät zum Lesen von Strichcode-Daten eines Strichcodes.
- Leseeinrichtungen in Form eines Stiftes und stationäre Leseeinrichtungen, die Laserlicht benutzen, sind als Einrichtungen zum optischen Lesen von Strichcoden bekannt. Weiterhin sind so genannte Ein-Berührungs-Leseeinrichtungen, die eindimensionale Bildsensoren verwenden, auf die sich im Folgenden als Liniensensor bezogen wird, die dazu bestimmt sind, die Bedienungsfreundlichkeit beim Lesen von runden Waren, wie etwa Taschen mit unregelmäßiger Form und Dosen zu verbessern, zur Hauptverwendungsart von Strichcode-Lesesystemen geworden.
- Aus DE-A-31 01 827 ist eine optische Strichcode-Leseeinrichtung bekannt, die einen Abtast-Laserstrahl verwendet, der einen Strichcode erkennen kann, dessen Höhe relativ gering ist. Um den gesamten Strichcode mit dem Laserstrahl zu erfassen, auch wenn der Abtastwinkel gegenüber der Längsausdehnung des Strichcodes geneigt ist, wird der Laserstrahl über den Strichcode in einer Vielzahl von parallelen Linien geführt, so daß eine Vielzahl von fragmentarischen Strichcode-Daten zur Strichcode-Leseeinrichtung übertragen werden. Die Fragmente werden zusammengesetzt, um eine vollständige Serie von Strichcode-Daten zu bilden, die für den Strichcode als ganzes stehen. Das Gerät macht Gebrauch von einer Vielzahl von Speichereinrichtungen, die dazu bestimmt sind, vorübergehend eine Vielzahl von fragmentarischen Strichcoden zu speichern, die miteinander kombiniert werden. Das Gerät umfaßt eine Drehtrommel mit einer Vielzahl von Spiegeln, die den Laserstrahl so brechen, das er in parallelen Linien abgelenkt wird. Dieses Gerät ist nicht dazu geeignet, in der Hand gehalten zu werden.
- Aus den Patent Abstracts of Jap an Vol. 7, No. 6 (P-167) (1151) ist eine Strichcode-Leseeinrichtung bekannt, bei der der Strichcode optisch von einem CCD-Scanner in einer Vielzahl von parallelen Abtastlinien abgetastet wird. Die Daten, die durch das Abtasten in einer Vielzahl von Linien geliefert werden, werden gespeichert und kombiniert, wobei sich überdeckende Teile aus den Daten gelöscht werden.
- Aus FR-A-2 423 829 ist ein Verfahren zum Lesen von Strichcodes bekannt, bei dem ein Lese-Lichtstrahl über einen Strichcode in einem zweidimensionalen Muster geführt wird, das der elektronischen Strahlführung in einer Bildröhre gleicht. Für den Fall, daß die Hauptabtastrichtung gegenüber der Längsausdehnung des Strichcodes so geneigt sein sollte, daß Datenfragmente geliefert werden, wird eine Kombination von Datenfragmenten aufbereitet, um Informationen über den Strichcode als ganzes zu erhalten. Dieses Verfahren ist nicht geeignet, um mit einer so genannten Ein-Berührungs-Leseeinrichtung durchgeführt zu werden, wie sie oben beschrieben ist.
- Wenn ein Strichcode mit einer wie oben beschriebenen Lese- Einrichtung abgetastet wird, fällt, wenn der Abtast-Neigungswinkel im Bezug auf den Strichcode größer ist als ein vorgegebener Winkel, ein Teil des Strichcodes aus dem Erkennungsfeld des Liniensensors, so daß nur ein Fragment des Strichcodes gelesen werden kann. In diesem Fall muß der Abtastvorgang von der Bedienungsperson wiederholt werden, damit der vollständige Strichcode gelesen werden kann.
- Um die Schwierigkeiten zu minimieren, die die Bedienperson erfährt, wenn der Strichcode-Lesevorgang wiederholt durchgeführt wird, ist es üblich, die Höhe der Strichcode so festzulegen, daß diese größer ist als ein vorgegebener Grenzwert. Im Falle einer stationären Lese-Einrichtung könnte es erforderlich sein, einen Strichcode in einer Vielzahl von Richtungen abzutasten (z.B. vier Richtungen).
- Da Strichcodes auf Trägern, wie etwa Preisschildern, Etiketten, etc. aufgedruckt sind, ist die Größe der Träger vorbestimmt, und der Strichcode muß so dimensioniert sein, daß er auf den Träger paßt. Ein speziell dafür vorgesehener Drucker ist nötig, um die Codes auf den Träger zu drucken. Im Fall von stationären Lese- Einrichtungen ist es notwendig, den Strichcode in einer Vielzahl von Richtungen zur selben Zeit abzutasten, was sowohl den Hardals auch den Softwareaufbau kompliziert macht.
- Die oben beschriebenen Probleme können durch die Kombination von gelesenen Datenfragmenten durch Kombinierung der Fragmente gelöst werden. Die vorliegende Erfindung sieht eine Strichcode- Leseanordnung vor (Gerät und Verfahren), bei der eine Strichcode-Leseeinrichtung mit einem eindimensionalen Bildsensor zum Lesen von Strichcode-Daten ausgestattet ist. Der Bildsensor und der Strichcode werden relativ zueinander bewegt, um den Strichcode abzutasten und optisch zu lesen.
- Um eine Kombination zu bewerkstelligen, werden bestimmte Schritte nach Anspruch 1 durchgeführt. Ein Strichcode-Abtast- und Datenkombinationssystem, das das Verfahren durchführt, ist in Anspruch 2 beschrieben. Bevorzugte Ausführungsformen davon sind Gegenstand der abhängigen Ansprüche.
- Fig. 1 ist eine Darstellung der Beziehung zwischen den Abtastlinien und des Strichcodes.
- Fig. 2a zeigt einen Fall, wo beide Endpunkte einer Abtastlinie anfänglich feste Endpunkte sind.
- Fig. 2b zeigt einen Fall, wo ein Endpunkt der Abtastlinie ein fester Punkt ist und der andere Endpunkt ein sich bewegender Endpunkt ist.
- Fig. 2c zeigt einen anderen Fall, wo ein Endpunkt der Abtastlinie ein fester Endpunkt ist und der andere Punkt eine sich bewegender Endpunkt ist.
- Fig. 2d stellt einen Fall dar, bei dem der Träger des Strichcodes verformt ist.
- Fig. 3 zeigt ein Zustandsdiagramm des Übergangs der Endpunkte der Abtastlinie.
- Fig. 4 zeigt die geometrische Beziehung zwischen benachbarten Abtastlinien.
- Fig. 5 zeigt die geometrische Beziehung zwischen zwei benachbarten Abtastlinien weiter detailliert.
- Fig. 6 zeigt die Beziehung zwischen benachbarten Abtastlinien und einen typischen Strichcode.
- Fig. 7 zeigt eine Ausführungsform der vorliegenden Erfindung
- Fig. 8 ist ein Blockdiagramm einer Steuerung zur Ausführung der Funktionen in der vorliegenden Erfindung.
- Fig. 9 zeigt eine Abfolge von Datenregistern von der Steuerung in Fig. 8
- Fig. 10 zeigt ein Flußdiagramm des Vorverarbeitungs- Algorithmus.
- Fig. 11 zeigt ein Flußdiagramm des kombinierenden Algorithmus.
- Fig. 1 ist eine Darstellung der Beziehung zwischen den Abtastlinien und dem Strichcode. Das linke Ende des Strichcodes ist mit Lo, während das rechte Ende davon mit Ro gekennzeichnet ist. Der Neigungswinkel Θ der Abtastlinie 12 eines Liniensensors enthält einen positiven Neigungswinkel (im dem Fall, bei dem die Abtastlinie 12 so geneigt ist, daß sie sich von der linken unteren Ecke zur rechten oberen Ecke, wie gezeigt, erstreckt) und einen negativen Neigungswinkel (in dem Fall, bei dem die Abtastlinie 12 so geneigt ist, daß sie sich von der linken oberen Ecke zur rechten unteren Ecke erstreckt). Wenn der Neigungswinkel Θ so klein ist, daß sich die Abtastlinie vom linken Ende Lo zum rechten Ende Ro des Strichcodes erstreckt (zum Beispiel wenn beide Enden des Strichcodes 10 innerhalb des Sichtfeldes des Liniensensors 12 sind), ist es unnötig eine Kombination von gelesenen Daten zu bewirken.
- Der Neigungswinkel Θ der Abtastlinie 12, die Geschwindigkeit der parallelen Bewegung der Abtastlinie 12 und die Abtastdauer sind im Wesentlichen konstant. Es gibt Fälle, in denen sich entweder der Strichcode 10 oder der Liniensensor 12 relativ zueinander bewegen. Die vorliegende Erfindung kann auf beide Fälle angewendet werden.
- Wenn der Neigungswinkel Θ der Abtastlinie 12 positiv ist, wird die Abtastlinie 12 parallel von der linken oberen Ecke zur rechten unteren Ecke des Strichcodes bewegt, wie es mit dem entsprechenden Beispielslinien X,Y und Z gezeigt ist. Wenn der Neigungswinkel Θ negativ ist, wird die Abtastlinie 12 parallel von der rechten oberen Ecke zur linken unteren Ecke des Strichcodes 10 bewegt, wie es mit dem entsprechenden Beispielslinien X,Y und Z gezeigt ist. Die Schnittpunkte zwischen der Abtastlinie 12 und dem linken und dem rechten Ende Lo, Ro des Strichcodes 10 sind mit dem Bezugszeichen a gekennzeichnet, während die Schnittpunkte zwischen der Abtastlinie 12 und den unteren und oberen Seiten des Strichcodes 10 mit dem Bezugszeichen b gekennzeichnet sind. Die Punkte a und b zeigen Endpunkte der Strichcodeinformation, die vom Liniensensor 12 gelesen wird.
- In dem Fall, wo sich die Position der Abtastlinie 12 eine vorgegebene Distanz von X nach X', von Y nach Y' oder von Z nach Z' bewegt, kann die Bewegung der Punkte a und b durch x bzw. y ausgedrückt werden; wenn der Neigungswinkel Θ 45º oder weniger ist, dann ist x kleiner als y, und der Zustand beider Enden des Strichcodes auf dem Liniensensor kann durch eine Beurteilung unter Bezugnahme auf das Bewegungsausmaß der gelesenen Daten bestimmt werden. In der vorliegenden Erfindung ist ein Punkt, wo die Abtastlinie 12 das linke Ende Lo oder das rechte Ende Ro des Strichcodes 10 schneidet, wie etwa der Punkt a, als ein fester Punkt definiert. Ein Punkt, wo die Abtastlinie 12 den oberen oder unteren Rand des Strichcodes 10 schneidet, wie etwa der Punkt b, ist als Bewegungs-Endpunkt definiert.
- Fig. 2a zeigt einen Fall, bei dem beide Endpunkte L und R der Abtastlinie anfänglich feste Punkte a (L = a, R = a) sind. Dieser Zustand wird hier mit dem Symbol A&sub1; gekennzeichnet, wobei beide Enden des Strichcodes 10 anfänglich innerhalb des Sichtfeldes des Liniensensors liegen. Daher reicht es aus, einen Lesevorgang wie gewöhnlich durchzuführen und die gelesenen Daten zu dekodieren (durch die dicke Linie in Fig. 2a gekennzeichnet).
- Fig. 2b zeigt einen Fall, bei dem der Neigungswinkel Θ positiv ist. In diesem Fall, bei der Ausgangsposition B&sub1;, werden die gelesenen Daten wenigstens einmalig genommen, um eine Strichcodeinformation zu erhalten, die die Position eines Endpunktes am oder nahe dem linken Ende Lo des Strichcodes 10 betrifft. Wenn der Neigungswinkel Θ der Abtastlinie 12 relativ klein ist, ändert sich der Zustand direkt in einen Zustand, wo L=a und R=a (z.B. der oben beschriebene Zustand A&sub1;) sind. Nachdem der Zustand A&sub1; hergestellt ist, werden die gelesenen Daten im Zustand B&sub1; auf die gelesenen Daten im Zustand A&sub1; erneuert, und der Prozeß schreitet zu einem nachfolgenden Dekodierprozeß fort.
- Wenn jedoch der Neigungswinkel Θ im Zustand B&sub1; relativ groß wird, ändert sich der Zustand von Zustand B&sub1; zu Zustand B&sub2; (L=b, L=b). Im Zustand B&sub2; ändern sich die Strichcode-Informationen an beiden Endpunkten bei jeder Gelegenheit; deshalb wird der Lesevorgang bei jeder Abtastdauer durchgeführt, um Daten zu erhalten. Wenn sich der Zustand zu Zustand B&sub3; ändert (L=b, L=a), werden die gelesenen Daten zumindest einmal genommen, um die Strichcode-Informationen zu erhalten, die die Position eines Endpunktes auf oder in Nähe der rechten Seite des Strichcodes 10 betreffen. Teilstücke von gelesenen Daten, die man in den Zuständen B&sub1; bis B&sub3; erhält, sind fragmentarisch, überlappen sich aber gegenseitig und enthalten daher alle jene Informationen, die den Strichcode 10 vom linken Ende L bis zum rechten Ende R betreffen.
- Fig. 2c zeigt einen Fall, bei dem der Neigungswinkel Θ negativ ist. In diesem Fall ändert sich der Zustand von C&sub1; auf A&sub1; oder von C&sub1; auf C&sub2; und dann auf C&sub3;, in der selben Weise wie bei Fig. 2b, außer daß der Neigungswinkel Θ der Abtastlinie 12 in diesem Fall negativ ist.
- Fig. 2d zeigt einen Fall, bei dem der Strichcode-Träger fehlerhaft ist. Zum Beispiel ist das Medium, wie gezeigt, teilweise verformt. In diesem Fall tritt, bevor der oben beschriebene Zustand A&sub1;, B&sub1; oder C&sub1; erreicht ist, ein Zustand auf, bei dem L=b und R=b erscheinen, wie mit dem Zustand D&sub1; gezeigt, so daß kein Lesevorgang durchgeführt wird, bis sich der Zustand zu Zustand A&sub1;, B&sub1; oder C&sub1; verändert hat, zu welchem Zeitpunkt der entsprechende Verarbeitungszustand erreicht ist.
- Fig. 3 zeigt den Zustandsübergang beider Endpunkte am linken Ende Lo und am rechten Ende Ro, So kennzeichnet einen Anfangszustand, während S&sub1; den Zustand kennzeichnet, bei dem der Strichcode 10 erscheint. Die Lage der Endpunkte an Lo und Ro ändert sich von Zustand S&sub1; entsprechend der oben beschriebenen Fälle. Wenn Zustand A&sub1; (L=a, R=a) direkt erreicht wird, wird der Vorgang zum Dekodier-Vorgang umgeschaltet. Weiterhin wird, wenn sich der Zustand S&sub1; direkt zu A&sub1; ändert, kein Kombinationsvorgang gebraucht, und daher besteht kein Bedarf an einer Vorverarbeitung.
- Wenn jedoch beide festen Endpunkte Lo und Ro für L bzw. R durch die Zustände B&sub2;, C&sub2; dann B&sub3;, C&sub3; erreicht sind, wird der Vorgang zum Dekodiervorgang umgeschaltet, nachdem der Kombinationsvorgang ausgeführt worden ist.
- Fig. 4 zeigt die geometrische Beziehung zwischen zwei benachbarten Abtastlinien und erläutert eine Technik zum Kombinieren gelesener Daten vom Strichcode 20. Adressen von gelesenen Daten auf einem Liniensensor werden durch die n-1-te (n ist ganzzahlig und hat einen Wert von 2 oder mehr) und n-te Abtastlinie geliefert. Die Adresse des Anfangs-Endpunktes (in diesem Fall die linke Seite) der gelesenen Daten, wo der Strichcode in die n-te Abtastlinie eintritt, ist L, während die Adresse des Begrenzungs-Endpunktes (in diesem Fall die rechte Seite) der gelesenen Daten, wo der Strichcode die Abtastlinie verläßt, Rn ist. Im Fall der n-1-ten Abtastlinie sind die Anfangs- und Begrenzungs-Endpunkt-Adressen Ln-1 bzw. Rn-1. Die Daten von Rn-1 auf der n-1-ten Abtastlinie sind das Begrenzungsende der Daten, die kombiniert werden müssen und auf die sich als Datenende bezogen wird.
- Der Zwischenraum l zwischen den Abtastlinien n und n-1 ist gleich einer Distanz, auf der die Abtastlinie während einer Abtastperiode bewegt wird. Vorausgesetzt die Bewegungsgeschwindigkeit der Abtastlinie, die Abtastperiode und der Neigungswinkel Θ sind, wie oben beschrieben, konstant, ist die Adresse von Rn-1 auf der n-1-ten Abtastlinie übereinstimmend mit und entspricht jener Adresse der Position auf der n-ten Abtastlinie, wo die Senkrechte von Rn-1 die n-te Abtastlinie in rechten Winkeln schneidet.
- Während einer Abtastperiode verschiebt sich die Position von beispielsweise einem Strichcode auf der Abtastlinie n-1 um eine Größe, die der Distanz d (gezeigt in Fig. 4) auf der n-ten Abtastlinie entspricht, während die Abtastlinie um die Distanz l vorwärtsbewegt wird. Dementsprechend befindet sich das obere Ende der Daten auf der Linie n, die mit den Daten auf Linie n-1 kombiniert werden müssen, an einer Position Rn-1-d. Auf die Daten in dieser Position wird sich mit Datenanfang bezogen. Die oben beschriebene Distanz d erhält man geometrisch wie folgt:
- Wenn jedoch es jedoch schwierig ist, l vorauszusetzen, ist es möglich d näherungsweise zu bestimmen. Fig. 5 zeigt, daß so lange der Neigungswinkel Θ nicht beträchtlich groß ist, die Distanz d in etwa gleich der Distanz der Bewegung (L&sub2;-L&sub1;) des Endpunktes am Linken Ende (oder am rechten Ende) der Abtastlinie während einer Periode, d.h. d = L&sub2;-L&sub1; ist.
- Die Kombination von Daten wird bewirkt durch Verbindung des Datenendes, definiert als der Abschluß der Daten auf Linie n-1, und dem Datenanfang, definiert als der Anfang der Daten auf Linie n an der Adresse gleich dem Ausdruck Rn-1-d. Das Resultat ist ein fortlaufender Datenstrom. Um jedoch den Genauigkeitsgrad zu erhöhen, könnte das folgende Verfahren nutzbringend angewandt werden.
- Fig. 6 zeigt ein Modell eines Datenendes, eines Datenanfangs und deren Umgebung. Ein Strichcode 30 sieht einen Strich an der Position von Rn-1 auf der n-1-ten Abtastlinie vor, die mit Bn- 1,p gekennzeichnet ist, während ein Zwischenraum, der dem Strich unmittelbar vorausgeht, mit Wn-1,p-1 gekennzeichnet ist: der entsprechende n-te Strich und der Zwischenraum sind mit Bn,q bzw. Wn,q-1 gekennzeichnet. Ein Strich der bei Ln auf der n-ten Abtastlinie liegt, ist mit Bn,s gekennzeichnet, während ein Zwischenraum, der unmittelbar auf den Strich folgt, mit Wn,s gekennzeichnet ist, und der Strich und Zwischenraum auf der n-1- ten Abtastlinie, die diesen entsprechen, sind mit Bn-1,r bzw. Wn-1,2 gekennzeichnet.
- Wie in Fig. 6 gezeigt, berührt die n-1-te Abtastlinie gerade eben das obere Ende des Striches Bn-1,p, während die n-te Abtastlinie gerade eben das untere Ende des Striches Bn,s berührt. Wenn ein Abtasten in diesem Zustand durchgeführt wird, werden die Strichdaten kürzer als die eigentliche Länge; daher ist, wenn solche Daten verwendet werden, das Ergebnis der Kombinierung unvollständig.
- Aus diesem Grund wird an der n-1-ten Abtastlinie vorzugsweise ein Zwischenraum Wn-1,p-1, der unmittelbar Bn-1,p vorausgeht, als Datenende verwendet, und an der n-ten Abtastlinie wird Wn,q-1 entsprechend als Datenanfang verwendet.
- Obgleich die Kombinierungs-Genauigkeit durch die Verbindung des oben beschriebenen Datenendes Wn-1,p-1 mit dem Datenanfang Wn,q- 1 verbessert wird, ist es ebenfalls möglich, weiterhin die Daten in der Nähe des Datenendes und des Datenanfangs miteinander zu vergleichen und den Grad der Übereinstimmung zwischen den Daten zu beurteilen. Unter Bezugnahme auf Fig. 6 werden Datenstücke, die im Bereich auf der n-1-te Abtastlinie von Wn-1,p-1 nach Wn- 1,r gegenwärtig sind, und Datenstücke die im entsprechenden Bereich auf der n-ten Abtastlinie bis zu Wn,s gegenwärtig sind, miteinander verglichen, und wenn der Grad der Übereinstimmung groß ist, werden die Datenstücke, die die entsprechenden Positionen betreffen, miteinander verbunden. In diesem Fall sollte in Betracht gezogen werden, daß ein Datenende und ein Datenanfang, die miteinander verbunden werden sollen, jeweils mit bestimmten Bereichen versehen sind.
- Wenn der Grad der oben beschriebenen Übereinstimmung gering ist, werden die n-ten Daten entweder nach vorne oder nach hinten um einen Strich oder Zwischenraum verschoben, und dann wird ein ähnlicher Vergleich wiederholt.
- Fig. 7 ist ein Blockdiagramm einer Strichcode-Lese-Einrichtung, ausgestattet mit einem Strichcode-Kombinierungsabschnitt nach vorliegender Erfindung. Ein Ein-Berührungs-Scanner 32 enthält den oben beschriebenen Liniensensor. Der Scanner 32 projiziert eine Vielzahl von eindimensionalen Bildern 34, die Abtastlinien ausbilden, während der Scanner 32 über den Strichcode 10 bewegt wird. Bruchstücke von Daten die mit dem Scanner 32 optisch gelesen werden, werden im Aufbereitungsteil 36 aufbereitet und dann in einem Kombinierungsteil 38 miteinander kombiniert. Die kombinierte Strichcode-Information wird in einem Dekodierteil 40 erkannt und im weiteren in einem Format-Prüfungsteil 42 überprüft, ob die kombinierte Strichcode-Information einen vorbestimmten Zustand erfüllt oder nicht. Wenn befunden wird, daß der vorbestimmte Zustand erfüllt ist, wird die Strichcode- Information über einen Schnittstellenteil 44 ausgegeben.
- Wenn der Dekodierteil 40 und der Format-Prüfungsteil 42 ermitteln, das keine Kombinierung durchgeführt werden kann, oder daß die kombinierte Strichcode-Information nicht den vorbestimmten Zustand wegen beträchtlicher Verformung des Trägers erfüllt, wird der Vorgang ab dem Kombinierungsvorgang nochmals durchgeführt.
- Fig. 8 ist ein Blockdiagramm eines Mikrocomputers, der dazu bestimmt ist, die Tätigkeiten auszuführen, die im oben beschriebenen Blockdiagramm beschrieben sind. Die Bezugszeichennummer 50 kennzeichnet einen Ein-Berührungs-Scanner, 52 eine CPU, 54 ein ROM, 56 einen RAM und 58 eine Schnittstelle.
- Die Strichcode-Information 60 und ein Synchronisierungs-Signal 62 werden vom Scanner 50 in die CPU 52 eingegeben. Die Bestandteile des ROM 54 umfassen einen Vorverarbeitungs-Algorithmus, einen Kombinierungs-Algorithmus, einen Strichcode-Dekodierer, einen Formatprüfer, eine Steuerschnittstelle etc. Die Bestandteile des RAM 56 beinhalten einen Puffer, der dazu bestimmt ist, verschiedene Programme auszuführen, einen Gelesene-Daten- Speicher, etc.
- Fig. 9 zeigt ein Modell eines Datenspeichers, der im RAM 56 eingebaut ist. Daten, die bei jedem Abtasten von der ersten Linie zur n-ten Linie (n ist eine positive ganze Zahl) geliefert werden, werden im Speicher gespeichert. Im Allgemeinen wird die Adresse eines schwarzen Striches am linken Ende der x-ten Linie im "LxADD" gespeichert, wohingegen die Adresse eines weißen Zwischenraumes am rechten Ende der x-ten Linie im "RxADD" gespeichert wird. Die Länge des y-ten schwarzen Striches auf der x-ten Linie wird im Speicher Bxy gespeichert, wohingegen die Länge des y-ten weißen Zwischenraumes auf der x-ten Linie im Speicher Wxy gespeichert wird.
- Fig. 10 zeigt ein Beispiel eines Flußdiagrammes der Aufbereitung für den Strichcode-Kombinierungsvorgang. Das Flußdiagramm wird der Reihe nach zuerst unter Bezugnahme auf den Fall von Fig. 2 beschrieben.
- Nachdem der Fluß mit Schritt 1 gestartet ist, wird in Schritt 2 eine Initialisierung durchgeführt. Dann werden, wenn Striche in Schritt 3 erscheinen, die Adressen der Striche L und R in Schritt 4 bei vorgegebenen Adressen für die erste Linie im oben beschriebenen Datenspeicher gespeichert.
- Als nächstes wird geprüft, ob L fest ist, oder nicht (Schritt 7). Es wird geprüft, ob L und R feste Endpunkte a, oder sich bewegende Endpunkte b auf der Basis des Ausmaßes der Adressänderung der Striche L und R sind (d.h., wenn d L&sub1;-L&sub2; einen vorgegebenen Wert überschreitet, ist L ein sich bewegender Endpunkt). Da jedoch diese Bestimmung keine große Menge von Positionsinformationen braucht, wenn das Ausmaß der Bewegung relativ klein ist, werden unnötige Informationen durch entsprechendes Ausfiltern der Positionsinformationen (Schritte 5 und 6) gelöscht.
- Wenn bestimmt wird, daß L fest ist (Schritt 7), wird der Vorgang von L=a ausgeführt und das Kennzeichen LF=1 wird eingestellt (Schritt 8). Als nächstes wird bestimmt, ob sich R bewegt, oder nicht (Schritt 9). Wenn JA, wird der Vorgang von R=b ausgeführt (Schritt 10), und die Daten zu diesem Zeitpunkt werden gelesen (Schritt 11). Das Lesen von Daten wird wiederholt, bis das Kennzeichen RF=1 (Schritt 12) eingestellt ist. In diesem Fall werden die Daten nacheinander erneuert.
- Wenn im Verlauf der oben beschriebenen Wiederholungsroutine geprüft ist, daß L nicht unbeweglich ist, wird der Vorgang von L=b (Schritt 13) ausgeführt, und es wird geprüft, ob sich R bewegt, oder nicht (Schritt 14). Wenn JA, das ist, wenn R als sich bewegend geprüft ist, wird der Vorgang von R=b ausgeführt (Schritt 15). Wenn in diesem Fall LF=1 ist (Schritt 16), dann werden die Daten wiederholt gelesen, bis das Kennzeichen RF=1 eingestellt ist (Schritt 25). Daten, die in diesem Fall gelesen werden, werden nacheinander in vorgegebenen Linien im Datenspeicher gespeichert.
- Wenn im Verlauf der oben beschriebenen Wiederholungsroutine geprüft ist, daß sich R nicht bewegt, wird der Vorgang von R=a (Schritt 18) ausgeführt. Dann wird das Kennzeichen RF=1 eingestellt und die Daten werden weiter gelesen (Schritt 19). Danach wird geprüft, ob LF=1 ist, oder nicht (Schritt 20). Wenn JA, werden die Adressen von L und R gelöscht und das Kennzeichen auf den Anfangszustand zurückgestellt, wo LF=0 und RF=0 sind (Schritt 21). Dann schreitet der Vorgang fort zum Kombiniervorgang (Schritt 22). Nach Beendigung des Kombiniervorgangs, wird die Dekodierung ausgeführt (Schritt 23), wodurch der Vorgang vervollständigt wird (Schritt 24).
- Es sollte bemerkt werden, daß wenn in Schritt 9 geprüft ist, daß sich R nicht bewegt, der Vorgang von R=a ausgeführt wird (Schritt 25) und Daten zu diesem Zeitpunkt gelesen werden (Schritt 26). Da in diesem Fall eine Kombination von Daten nicht erforderlich ist, werden die Adressen von L und R gelöscht und das Kennzeichen auf den Anfangszustand zurückgestellt, wo LF=0 und RF=0 sind. Dann schreitet der Vorgang zum Dekodieren fort.
- Fig. 11 zeigt ein Flußdiagramm des Kombinierungsschrittes 22. Nachdem der Ablauf gestartet ist (Schritt 1) wird eine Initialisierung ausgeführt (Schritt 2). Dann wird geprüft, ob L fest ist, oder nicht (Schritt 3). Wenn JA, wird die Differenz zwischen L (L&sub1;) der ersten Linie und L (L&sub2;) der zweiten Linie berechnet, um d zu erhalten (Schritt 4). Dann wird die Vorverarbeitung entsprechend des oben Beschriebenen Verfahrens in Fig. 10 ausgeführt. Danach wird bestimmt, ob Wn,q-1 der n-ten Linie und Wn-1,p-1 auf der n-1-ten Linie im wesentlichen gleich sind, oder nicht (Schritt 6). Ein Grund, warum überprüft wird, ob die beiden Datenstücke im Wesentlichen gleich sind, oder nicht, ist, daß es unmöglich ist, zu erwarten, daß beide Datenstücke exakt übereinstimmen, aufgrund der näherungsweisen Berechnung, die ausgeführt wurde, um d zu erhalten. Anstelle dessen wird für Bereiche auf den beiden Linien, von denen angenommen wird, daß sie sich gegenseitig überlappen, eine ähnliche Prüfung gemacht, mit Bezug auf einen Strich und einen Zwischenraum, folgend gegen das beginnende Ende. Wenn geprüft ist, daß alle entsprechenden Datenstücke in den Bereichen einander angenähert sind, werden Datenstücke auf der n-1-ten Linie von Wn-1,r zu Wn-1,p-1 und Datenstücke auf der n-ten Linie von Wn,s zu Wn,q-1 für jede übereinstimmende Position aufeinander gelegt, um dadurch Daten zu kombinieren (Schritt 10).
- Wenn der Grad der oben beschriebenen Übereinstimmung gering ist, werden ein Zwischenraum Wn,q-2 auf der n-ten Linie, der unmittelbar den zu prüfenden Daten vorausgeht und Wn-1,p-1 auf den Grad ihrer Übereinstimmung geprüft. Danach wird der Grad der Übereinstimmung ähnlich für Wn,s und Wn-1,r-1 geprüft (Schritte 11 bis 13). Wenn der Grad der Übereinstimmung immer noch gering ist, wird ein Zwischenraum Wn,q auf der n-ten Linie, die unmittelbar auf die zu prüfenden Daten folgt, und Wn-1,p-1 auf den Grad der Übereinstimmung geprüft; danach wird der Grad der Übereinstimmung ähnlich für Wn,s und Wn-1,r-1 geprüft (Schritte 14 bis 16). Wenn keine Übereinstimmung gefunden wird, obwohl diese Überprüfungen durchgeführt werden, wird der Vorgang für die Unmöglichkeit der Kombination durchgeführt (Schritt 17), wodurch der Ablauf abgeschlossen wird.
- Wie oben beschrieben wurde, sieht die Erfindung folgende Merkmale vor. Selbst wenn der Neigungswinkel des Sensors größer ist, als ein vorgegebener Winkel, so daß gelesene Daten fragmentartig sind, kann eine Periode von dem Zeitpunkt, da entweder einer der Endpunkte der Strichcode-Information ein fester Endbereich und der andere ein sich bewegender Endpunkt ist, bis zu dem Zeitpunkt geprüft werden, da der sich bewegende Endpunkt zu einem festen Endpunkt verändert. Die Zeitüberprüfung wird auf der Basis von Informationen gemacht, die die Positionen der Endpunkte der Strichcode-Information betreffen, die sich fortlaufend ändern, und Informationen, die die Positionen der Endpunkte auf dem Liniensensor betreffen, die man während der überprüften Periode erhält, werden als Daten gelesen; ein Datenende und ein Datenanfang von entsprechenden Datenstücken werden dann miteinander verbunden, um dadurch die Daten zu kombinieren. Dadurch ist es möglich, sogar fragmentartige Daten zu rekonstruieren. Dementsprechend ist es möglich die Höhe von Strichcoden zu reduzieren, im Vergleich zu jenen, die bislang verwendet wurden.
Claims (4)
1. Verfahren zum Lesen und Kombinieren fragmentarischer
Strichcode-Daten eines Strichcodes (10) mit einer
Anfangs- und einer Endbegrenzung (L,R), folgende
Schritte enthaltend :
Aussenden einer Vielzahl von eindimensionalen,
aufeinanderfolgenden Bildern von einem Scanner, wobei jedes
dieser Bilder einer Abtastlinie entspricht;
einmaliges Bewegen des Scanners relativ zum Strichcode
in eine einzelne Richtung über eine Zeitdauer, die
ausreicht, um eine Vielzahl von Abtastlinien auszubilden,
wobei diese Abtastlinien zueinander parallel sind, und
jede Linie eine Abfolge von Punkten enthält, die einer
Abfolge von Adressen entspricht:
Lesen eines Strichcode-Datensegmentes von jeder
Abtastlinie, wobei sich jedes Strichcode-Datensegment in einer
Position befindet, die einem Teil der Adressenabfolge
entspricht;
Ermitteln der Adressen von Anfangs- und
Endschnittpunkten der entsprechenden Abtastlinie mit dem
Strichcode für jedes der Strichcode-Datensegmente;
dadurch gekennzeichnet, daß diese Verfahren weiterhin
folgende Schritte enthält:
Ermitteln, ob eine erste Überschneidung einer
Abtastlinie (n-1) mit der Anfangsbegrenzung (Lo) des
Strichcodes (10) aufgetreten ist, durch Vergleichen der
Adressen der Anfangsschnittpunkte jedes
aufeinanderfolgenden Paares von benachbarten Abtastlinien (n-1, n);
Ermitteln, ob eine erste Überschneidung einer
Abtastlinie mit der Endbegrenzung (Ro) des Strichcodes (10)
aufgetreten ist, durch Vergleichen der Adressen der
Endschnittpunkte jedes aufeinanderfolgenden Paares von
benachbarten Abtastlinien;
Ermitteln der Adressen-Differenz (d) zwischen der
Adresse (Rn-1) des Datenendes der Abtastlinie (n-1), die
mit der Anfangsbegrenzung (Lo) des Strichcodes (10)
übereinstimmt, wobei dieses Datenende definiert ist als
die Daten am Endpunkt der Überschneidung der Abtastlinie
(L-1) mit dem Strichcode, und der Adresse (Rn-1-d)
des Datenanfangs der nächstbenachbarten Abtastlinie (n),
wobei der Datenanfang definiert ist als die Daten an dem
Punkt auf dieser nächstbenachbarten Abtastlinie (n), die
denselben Daten, wie jenen des Datenendes der
Abtastlinie (n-1) entsprechen;
Vergleichen des Strichcode-Datensegments der Abtastlinie
(n-1) mit dem Strichcode-Datensegment, das sich bei
Adressen vor der Startadresse (Rn-1-d) des Datenanfangs
der nächstbenachbarten Abtastlinie (n) befindet;
Verbinden des Datenanfangs der nächstbenachbarten
Abtastlinie (n) mit dem Datenende der Abtastlinie (n-1),
wenn dieser Vergleich in einen vorgegebenen Bereich von
Gleichartigkeit fällt, und
Wiederholen des Verbindungsschrittes, bis die
Übereinstimmung des Datenanfangs mit dem Datenende (Ro) des
Strichcodes (10) aufgetreten ist.
2. Strichcode-Abtast- und Daten-Kombinationssystem,
enthaltend:
einen Scanner (32), der geeignet ist relativ zu einem
Strichcode (10) mit Anfangs- und Endbegrenzung bewegt zu
werden enthält:
eine Einrichtung, die dazu bestimmt ist, eine Vielzahl
von eindimensionalen Bildern auszusenden, wobei diese
Vielzahl von eindimensionalen Bildern dadurch eine
Vielzahl von parallelen Abtastlinien (12) ausbilden, während
der Scanner (32) über den Strichcode (10) in einer
einzelnen Richtung bewegt wird, und
eine Einrichtung, die dazu bestimmt ist, eine Vielzahl
von Strichcode-Datensegmenten von benachbarten,
parallelen Abtastlinien (12) zu lesen, wobei diese
Strichcode-Datensegmente durch ein Auftreffen der
Abtastlinien (12) auf den Strichcode (10) ausgebildet
werden;
eine Einrichtung zum Ermitteln der Adressen von
Anfangs- und Endschnittpunkten der betreffenden Abtastlinie mit
dem Strichcode für jedes der Strichcode-Datensegmente;
dadurch gekennzeichnet, daß dieses System weiterhin
enthält:
eine Einrichtung zum Ermitteln, ob eine erste
Überschneidung einer Abtastlinie (n-1) mit der
Anfangsbegrenzung (Lo) des Strichcodes (10) aufgetreten ist,
durch Vergleichen der Adressen der Anfangsschnittpunkte
jedes aufeinanderfolgenden Paares _ von
benachbarten Abtastlinien (n-1, n);
eine Einrichtung zum Ermitteln, ob eine erste
Überschneidung einer Abtastlinie mit der Endbegrenzung
(Ro) des Strichcodes (10) aufgetreten ist, durch
Vergleichen der Adressen der Endschnittpunkte jedes
aufeinanderfolgenden Paares von benachbarten Abtastlinien;
eine Berechnungseinrichtung zum Ermitteln der Adressen-
Differenz (d) zwischen der Adresse (Rn-1) des Datenendes
der Abtastlinie (n-1), die mit der Anfangsbegrenzung
(Lo) des Strichcodes (10) übereinstimmt, wobei dieses
Datenende definiert ist als die Daten am Endpunkt der
Überschneidung der Abtastlinie (L-1) mit dem Strichcode,
und der Adresse (Rn-1-d) des Datenanfangs der
nächstbenachbarten Abtastlinie (n), wobei der Datenanfang
definiert ist als die Daten an dem Punkt auf dieser
nächsten benachbarten Abtastlinie (n), die den selben
Daten, wie jenen des Datenendes der Abtastlinie (n-1)
entsprechen;
und zum Vergleichen des Strichcode-Datensegments der
Abtastlinie (n-1) mit dem Strichcode-Datensegment, das
sich bei Adressen vor der Startadresse (Rn-1-d) des
Datenanfangs der nächstbenachbarten Abtastlinie (n)
befindet;
eine Einrichtung zum Verbinden des Datenanfangs der
nächstbenachbarten Abtastlinie (n) mit dem Datenende
der Abtastlinie (n-1), wenn dieser Vergleich in einen
vorgegebenen Bereich von Gleichartigkeit fällt, und
eine Einrichtung zum Wiederholen des
Verbindungsschrittes, bis die Übereinstimmung des Datenanfangs mit
dem Datenende (Ro) des Strichcodes (10) aufgetreten ist.
3. Strichcode-Abtast- und Datenkombinationssystem nach
Anspruch 2, bei dem die Sendeeinrichtung 32 eine
Adressen-Erzeugungseinrichtung umfaßt, die dazu bestimmt
ist, aufeinanderfolgend eine Adresse für jede
Punktabfolge, die jede Vielzahl von eindimensionalen Bildern
zu einem entsprechenden Zeitpunkt enthält, so zu
erzeugen, daß jede einzelne aus der Vielzahl von
Abtastlinien (12) eine entsprechende Abfolge von Adressen hat.
4. Strichcode-Abtast- und Datenkombinationssystem nach
Anspruch 2 oder 3, bei dem die Datenleseeinrichtung (32)
enthält:
eine Aufbereitungseinrichtung (36), die dazu bestimmt
ist, eine erstes Erscheinen (a) eines festen Endes an
der Anfangsbegrenzung (L) des Strichcodes (10) und ein
zweites Erscheinen (a) eines festen Endes am Datenende
(R) des Strichcodes (10) zu ermitteln;
eine Steuerungseinrichtung (52), die dazu bestimmt ist,
ein drittes Erscheinen (a) eines festen Endes am Anfang
und am Ende (L,R) entlang einer aus der Vielzahl von
Abtastlinien (12) zu ermitteln, und
eine Empfängereinrichtung, die dazu bestimmt ist,
aufeinanderfolgend eine Vielzahl von Strichcode-
Datensegmenten zu lesen, bis das erste und zweite
Erscheinen (a) jeweils erfolgt ist, oder bis nicht das
dritte Erscheinen (a) erfolgt ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62245294A JP2775735B2 (ja) | 1987-09-28 | 1987-09-28 | バーコード識別方法 |
JP62245293A JP2775734B2 (ja) | 1987-09-28 | 1987-09-28 | バーコード識別方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3854885D1 DE3854885D1 (de) | 1996-02-22 |
DE3854885T2 true DE3854885T2 (de) | 1996-05-15 |
Family
ID=26537152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3854885T Expired - Fee Related DE3854885T2 (de) | 1987-09-28 | 1988-09-27 | Kombinieren von gelesenen Strichcode-Daten |
Country Status (6)
Country | Link |
---|---|
US (1) | US5045677A (de) |
EP (1) | EP0310921B1 (de) |
KR (1) | KR910005389B1 (de) |
CA (1) | CA1310417C (de) |
DE (1) | DE3854885T2 (de) |
NO (1) | NO174944C (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2631476B1 (fr) * | 1988-05-10 | 1992-01-03 | Bertin & Cie | Procede et dispositif de lecture d'un code barres sur un support sensiblement immobile |
US5548107A (en) * | 1988-08-26 | 1996-08-20 | Accu-Sort Systems, Inc. | Scanner for reconstructing optical codes from a plurality of code fragments |
US5124538B1 (en) * | 1988-08-26 | 1995-01-31 | Accu Sort Systems Inc | Scanner |
US5495097A (en) * | 1993-09-14 | 1996-02-27 | Symbol Technologies, Inc. | Plurality of scan units with scan stitching |
US5262626A (en) * | 1989-12-06 | 1993-11-16 | Symbol Technologies, Inc. | Decoding bar codes from multiple scans using element replacement |
JPH0611475A (ja) * | 1990-01-31 | 1994-01-21 | Ladislav Novotny | 流状基剤に関する小型化センサーの準備方法及び測定システム装置 |
US5194722A (en) * | 1990-05-02 | 1993-03-16 | Ncr Corporation | Enhanced UPC bar code decoding system reconstructing complete bar code signals from partial bar code scans |
US5276316A (en) * | 1990-05-02 | 1994-01-04 | Ncr Corporation | Method for reconstructing complete bar code signals from partial bar code scans |
US6213399B1 (en) * | 1991-07-25 | 2001-04-10 | Symbol Technologies, Inc. | Multi-channel signal processing in an optical reader |
JP3190448B2 (ja) * | 1991-10-25 | 2001-07-23 | オリンパス光学工業株式会社 | 2次元バーコードシンボル読取装置 |
US5276315A (en) * | 1992-05-14 | 1994-01-04 | United Parcel Service Of America, Inc. | Method and apparatus for processing low resolution images of degraded bar code symbols |
US5748804A (en) * | 1992-05-14 | 1998-05-05 | United Parcel Service Of America, Inc. | Method and apparatus for processing images with symbols with dense edges |
US5438636A (en) * | 1992-05-14 | 1995-08-01 | United Parcel Service Of America, Inc. | Apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities |
US5487115A (en) * | 1992-05-14 | 1996-01-23 | United Parcel Service | Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images |
KR940002697A (ko) * | 1992-07-13 | 1994-02-19 | 시모야마 도시로오 | 바 코드 주사 스티치 |
US5475207A (en) * | 1992-07-14 | 1995-12-12 | Spectra-Physics Scanning Systems, Inc. | Multiple plane scanning system for data reading applications |
US5311000A (en) * | 1992-07-31 | 1994-05-10 | Spectra-Physics Scanning Systems, Inc. | Bar code scanner and method of scanning |
US5343028A (en) * | 1992-08-10 | 1994-08-30 | United Parcel Service Of America, Inc. | Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images |
US5418862A (en) * | 1992-08-10 | 1995-05-23 | United Parcel Service Of America | Method and apparatus for detecting artifact corners in two-dimensional images |
US5329105A (en) * | 1992-08-10 | 1994-07-12 | United Parcel Service Of America, Inc. | Method and apparatus for determining the width of elements of bar code symbols |
US5296691A (en) * | 1992-09-14 | 1994-03-22 | Lazerdata Corporation | Scanning device for reconstructing a complete code from scanned segments |
US5493108A (en) * | 1992-10-14 | 1996-02-20 | Spectra-Physics Scanning Systems, Inc. | Method and apparatus for recognizing and assembling optical code information from partially scanned segments |
US5384451A (en) * | 1993-01-29 | 1995-01-24 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using composite signals |
US5412197A (en) * | 1993-01-29 | 1995-05-02 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using gradient signals |
US5352878A (en) * | 1993-01-29 | 1994-10-04 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using independent bar and space analysis |
US5357093A (en) * | 1993-02-01 | 1994-10-18 | Storage Technology Corporation | System and method for converting bar code scan line data into machine-readable code |
US5404003A (en) * | 1993-02-01 | 1995-04-04 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code symbols using byte-based searching |
AU681421B2 (en) * | 1993-09-14 | 1997-08-28 | Symbol Technologies, Inc. | Bar code scan stitching |
US5457308A (en) * | 1993-09-14 | 1995-10-10 | Symbol Technologies, Inc. | Bar code scan stitching |
US5412196A (en) * | 1994-04-01 | 1995-05-02 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code images using multi-order feature vectors |
US5438188A (en) * | 1994-04-01 | 1995-08-01 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code images using information from previous scan lines |
US5952643A (en) * | 1997-03-17 | 1999-09-14 | Lucent Technologies Inc. | Bar code decoder for a lightpen |
DE19716886C2 (de) * | 1997-04-22 | 2001-02-01 | Sick Ag | Verfahren und Vorrichtung zum Lesen eines Strichcodes |
JP3560477B2 (ja) * | 1998-08-24 | 2004-09-02 | 富士通株式会社 | バーコード読取装置及びバーコード読取方法 |
US6454168B1 (en) | 1998-09-14 | 2002-09-24 | Psc Scanning, Inc. | Correlation and stitching techniques in a bar code scanning system |
US6585157B2 (en) | 1998-09-14 | 2003-07-01 | Psc Scanning, Inc. | Symbology determination to aid decoding in a bar code scanning system |
US6513714B1 (en) | 1998-09-14 | 2003-02-04 | Psc Scanning, Inc. | Character reconstruction and element level processing in bar code scanning system |
US6494376B1 (en) | 1998-09-14 | 2002-12-17 | Psc Scanning, Inc. | Compensation for scan line variations in a bar code scanner system |
US6267293B1 (en) * | 1999-02-22 | 2001-07-31 | Cimatrix | Bar code scanning system and method |
DE102004017504A1 (de) | 2004-04-08 | 2005-10-27 | Sick Ag | Verfahren und Vorrichtung zum Lesen eines Strichcodes |
EP1975849B1 (de) * | 2007-03-27 | 2011-04-27 | Casio Computer Co., Ltd. | Strichcode-Lesegerät und computerlesbares Medium |
US20090057401A1 (en) * | 2007-08-31 | 2009-03-05 | Drb Systems, Incorporated | System and methods for providing prepaid car wash or lube services |
CN101882205B (zh) * | 2010-06-01 | 2012-03-14 | 福建新大陆电脑股份有限公司 | 一维条码图像扫描方法 |
CN102446265B (zh) * | 2010-10-14 | 2014-11-26 | 致伸科技股份有限公司 | 条码评估方法以及条码评估装置 |
CN105718839B (zh) * | 2016-01-27 | 2018-01-30 | 苏州佳世达电通有限公司 | 条码解码方法以及条码解码装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2423829A1 (fr) * | 1978-04-19 | 1979-11-16 | Telemecanique Electrique | Procede et dispositif de lecture d'un support d'une information codee selon un code a barres, applicables lorsque la direction des barres par rapport a celle du faisceau de lecture peut varier |
US4409469A (en) * | 1980-01-21 | 1983-10-11 | Sharp Kabushiki Kaisha | Optical bar code reader |
US4308455A (en) * | 1980-06-26 | 1981-12-29 | E. I. Du Pont De Nemours And Company | Method for decoding bar-coded labels |
JPS57164373A (en) * | 1981-04-02 | 1982-10-08 | Omron Tateisi Electronics Co | Bar code reader |
JPS57204977A (en) * | 1981-06-11 | 1982-12-15 | Nippon Denso Co Ltd | Method and device for bar code read |
US4652730A (en) * | 1985-01-03 | 1987-03-24 | Honeywell Information Systems Inc. | Method and apparatus for skew compensation in an optical reader |
US4717818A (en) * | 1986-06-26 | 1988-01-05 | International Business Machines Corporation | Bar code label identification circuit |
US4745484A (en) * | 1986-07-30 | 1988-05-17 | Drexler Technology Corporation | Method and apparatus for stepped imaging in reading data |
-
1988
- 1988-09-27 CA CA000578603A patent/CA1310417C/en not_active Expired - Fee Related
- 1988-09-27 EP EP88115905A patent/EP0310921B1/de not_active Expired - Lifetime
- 1988-09-27 NO NO884274A patent/NO174944C/no unknown
- 1988-09-27 DE DE3854885T patent/DE3854885T2/de not_active Expired - Fee Related
- 1988-09-28 US US07/250,181 patent/US5045677A/en not_active Expired - Fee Related
- 1988-09-28 KR KR1019880012552A patent/KR910005389B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
NO884274D0 (no) | 1988-09-27 |
NO174944C (no) | 1994-08-03 |
CA1310417C (en) | 1992-11-17 |
KR910005389B1 (ko) | 1991-07-29 |
NO174944B (no) | 1994-04-25 |
EP0310921A1 (de) | 1989-04-12 |
EP0310921B1 (de) | 1996-01-10 |
NO884274L (no) | 1989-03-29 |
DE3854885D1 (de) | 1996-02-22 |
KR890005630A (ko) | 1989-05-16 |
US5045677A (en) | 1991-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854885T2 (de) | Kombinieren von gelesenen Strichcode-Daten | |
DE69523965T2 (de) | Erkennungsverfahren für eine zweidimensionale Kodierung | |
DE68914528T2 (de) | Bildsignalverarbeitungsvorrichtung für Strichkodebildsignale. | |
DE69433492T2 (de) | Verfahren und Vorrichtung zum Dekodieren von Streifencodes durch unabhängige Analyse von Streifen und Zwischenräumen | |
DE69028899T2 (de) | Verfahren und Vorrichtung zum Dekodieren von Strichkodes mit Mehrfachabtastung | |
DE3101827C2 (de) | Optisches Strichcode-Lesegerät | |
DE69131216T2 (de) | Lagebestimmung von Strichkodierungen | |
DE69332771T2 (de) | Verfahren und Vorrichtung zum Dekodieren von strichkodierten Symbolen | |
EP1645839B1 (de) | Vorrichtung und Verfahren zur Überwachung von bewegten Objekten | |
DE69422043T2 (de) | Gerät zum berührungslosen lesen eines reliefmusters | |
DE2914509C2 (de) | ||
DE69518098T2 (de) | Verfahren und Vorrichtung zum Lesen eines optischen zweidimensionalen Kodes | |
DE19814075B4 (de) | Verfahren zum Abtasten und Erkennen mehrerer Fotografien und zum Beseitigen von Randfehlern | |
DE69324079T2 (de) | Verfahren und Vorrichtung zur Erfassung von Strichkoden | |
DE69310049T2 (de) | Verfahren und Vorrichtung zum Auffinden einer Ecke einer Struktur in zweidimensionalen Bildern | |
DE3633743C2 (de) | ||
DE69629930T2 (de) | Verfahren zum Festlegen eines auf einem Objekt angebrachten optischen Codes | |
DE2524495C3 (de) | Schaltungsanordnung zur Formatpriifung von Codesignalen eines Streifencodes | |
EP0896290B1 (de) | Verfahren und Vorrichtung zum Lesen eines aus einer vorgegebenen Anzahl von Codeelementen bestehenden Strichcodes | |
DE19960555A1 (de) | Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes | |
DE2616753A1 (de) | Verfahren und vorrichtung zum einlesen von strichkodierten informationen | |
DE3783974T2 (de) | Optischer buchstabenleser. | |
DE2829808A1 (de) | Verfahren und vorrichtung zum lesen von zeichen | |
DE2338561A1 (de) | Verfahren und vorrichtung zum identifizieren von objekten | |
DE2410306C3 (de) | Anordnung zur Einstellung eines Abtastrasters oder einer Erkennungslogik auf die Schräglage von abzutastenden bzw. zu erkennenden Zeichen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |