DE19724711A1 - Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes - Google Patents

Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes

Info

Publication number
DE19724711A1
DE19724711A1 DE19724711A DE19724711A DE19724711A1 DE 19724711 A1 DE19724711 A1 DE 19724711A1 DE 19724711 A DE19724711 A DE 19724711A DE 19724711 A DE19724711 A DE 19724711A DE 19724711 A1 DE19724711 A1 DE 19724711A1
Authority
DE
Germany
Prior art keywords
width
indices
determined
elements
bar code
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.)
Granted
Application number
DE19724711A
Other languages
English (en)
Other versions
DE19724711B4 (de
Inventor
Juergen Reichenbach
Heinrich Hippenmeyer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sick AG
Original Assignee
Sick AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sick AG filed Critical Sick AG
Priority to DE19724711A priority Critical patent/DE19724711B4/de
Priority to US09/090,031 priority patent/US6039253A/en
Publication of DE19724711A1 publication Critical patent/DE19724711A1/de
Application granted granted Critical
Publication of DE19724711B4 publication Critical patent/DE19724711B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Erkennen und Lesen eines an einem Objekt vorgesehenen, aus einer Anzahl von Codeelementen bestehen­ den Strichcodes. Weiterhin ist die Erfindung auf eine Vorrichtung, insbesondere zum Durchführen dieses Verfahrens gerichtet.
Strichcodes werden üblicherweise jeweils an ihrem Anfang und Ende durch so­ genannte Weißzonen, d. h. Bereiche ohne Aufdruck, abgeschlossen. Durch diese Weißzonen, die eine bestimmte Mindestausdehnung besitzen, ist, oftmals auch in Verbindung mit Start- und Stoppmarkierungen, gewährleistet, daß übliche Dekodierverfahren den Anfang bzw. das Ende eines Strichcodes erkennen und somit gezielt ausschließlich Strichcodeinformation und nicht Streudruckinfor­ mation, d. h. fälschlicherweise als Codeelemente interpretierte, auf dem Objekt aufgedruckte Elemente, zu dekodieren versuchen.
Aufgrund von Platzproblemen auf dem Objekt kann jedoch nicht in allen Fallen gewährleistet werden, daß ein Strichcode normgerecht mit Weißzonen abge­ schlossen wird. Darüber hinaus kann bei einem schrägen Überstreichen eines Strichcodes mit einem Abtaststrahl nicht davon ausgegangen werden, daß beim Überstreichen des Strichcodes auch eine eventuell vorhandene Weißzone mit überstrichen wird. Somit ist auch in diesen Fällen eine Unterscheidung zwi­ schen Streudruck und Strichcode nicht durch Erkennen einer Weißzone mög­ lich.
Aufgabe der Erfindung ist es, ein Verfahren der eingangs genannten Art anzuge­ ben, bei dem abgetastete Strichcodes bzw. Strichcodeabschnitte mit hoher Wahrscheinlichkeit erkannt und von abgetastetem Streudruck unterschieden werden können, auch wenn beim Abtasten keine Weißzone von dem Abtaststrahl überstrichen wird.
Diese Aufgabe wird erfindungsgemaß dadurch gelöst, daß das den Strichcode tragende Objekt durch einen oder mehrere Abtaststrahlen eines Strichcodelesers abgetastet wird, wobei jedes Überstreichen des Objekts durch einen Abtaststrahl eine Abtastung bildet und während einer Abtastung überstrichene helle und dunkle Bereiche des Objekts als abgetastete Elemente erkannt werden, daß zu­ mindest für einen Teil der während einer Abtastung abgetasteten Elemente je­ weils ein für die Breite des Elements in Abtastrichtung repräsentativer Breiten­ index bestimmt wird, daß jeweils die Häufigkeit des Auftretens der ermittelten Breitenindexe bestimmt wird und daß aus den ermittelten Häufigkeiten auf das Vorliegen eines Strichcodes geschlossen wird.
Die Erfindung geht von der grundsätzliche Überlegung aus, daß die Breiten der Codeelemente innerhalb eines zu erkennenden Strichcodes nur bestimmte, be­ kannte Werte annehmen können. Als Codeelemente werden dabei sowohl Balken als auch Lücken eines Strichcodes bezeichnet. Bei einem Zweibreitencode, bei dem der Strichcode aus Codeelementen mit zwei unterschiedlichen Breiten be­ steht, können somit bei einer idealen Abtastung, d. h. ohne Druckverzerrungen oder Verschmutzungen, bei einer Bestimmung der Breiten der abgetasteten Codeelemente nur zwei unterschiedliche Sollbreiten ermittelt werden. Entspre­ chendes gilt für einen Dreibreitencode, bei dem im Idealfall lediglich drei unter­ schiedliche Sollbreiten der abgetasteten Codeelemente ermittelbar sind, usw.
Demgegenüber besitzen Elemente, die nicht Teil eines Strichcodes sind, sondern Streudruck darstellen, beispielsweise gedruckter Text oder sonstige Zeichen, beliebige, unterschiedliche Breiten, so daß die bei einer Abtastung ermittelten Breiten dieser Elemente völlig beliebig sind.
Mit dem erfindungsgemäßen Verfahren wird während einer Abtastung jeweils für die abgetasteten, erkannten Elemente ein für die Breite des Elements in Abtast­ richtung repräsentativer Breitenindex bestimmt, der auch direkt durch die Breite des Elements selbst gegeben sein kann. Anschließend wird die Häufigkeit des Auftretens der ermittelten Breitenindexe in einer Häufigkeitsverteilung, ei­ nem sogenannten Histogramm, bestimmt, aus der auf das Vorliegen eines Strichcodes geschlossen werden kann. Handelt es sich bei den abgetasteten Elementen ausschließlich um Codeelemente eines Strichcodes, so besitzt die Häufigkeitsverteilung im Idealfall ausschließlich bei den die Sollbreiten des je­ weiligen Strichcodetyps kennzeichnenden Werten Maxima, während zwischen diesen Maxima die Häufigkeitsverteilung gleich Null ist. Im Realfall werden die ermittelten Breitenindexe vorwiegend um die Sollbreiten herum angeordnet sein, während im Bereich zwischen den Sollbreiten nur, durch Fehler im Druckbild oder sonstige Störeinflüsse bedingt, einzelne ermittelte Breitenindexe auftreten.
Trotz der in der Realität auftretenden Unsauberkeiten im Druckbild unterschei­ det sich die Häufigkeitsverteilung der Breitenindexe eines Strichcodes deutlich von der Häufigkeitsverteilung der Breitenindexe eines Streudrucks, die übli­ cherweise keine ausgeprägten Maxima, sondern einen relativ gleichmäßigen Verlauf besitzt.
Um eine einfache Auswertung der abgetasteten Elemente zu ermöglichen, wer­ den in einer bevorzugten Ausführungsform der Erfindung die Breitenindexe aus einer Vielzahl von vorgegebenen, diskreten Werten gewählt. Dadurch wird er­ reicht, daß die in der Praxis auftretenden Schwankungen der ermittelten Brei­ tenindexe, die beispielsweise durch unsauberen Druck bedingt sein können, nicht zu einer unüberschaubaren Vielzahl von unterschiedlichen, zu verglei­ chenden Breitenindexen führen, sondern daß beispielsweise durch Rundung auf den nächsten vorgegebenen, diskreten Wert eine begrenzte Anzahl von ermittel­ ten Breitenindexen bezüglich der Sollbreiten des zu erkennenden Strichcodes überprüft werden müssen.
Bevorzugt kann während einer Abtastung die Zeitdauer für das Überstreichen eines Elements und aus dieser Zeitdauer der Breitenindex für dieses Element bestimmt werden. Durch die Messung der Zeitdauer ist eine einfache Bestim­ mung der Breitenindexe für die abgetasteten Elemente möglich. Dabei kann ins­ besondere die Bestimmung der Zeitdauer durch Zählen eines Taktsignals erfol­ gen, wobei als Breitenindex jeweils die Anzahl der Taktsignale, die während des Abtasten eines Elements gezählt werden, verwendet wird. In diesem Fall erfolgt somit keine direkte Bestimmung der Breiten der abgetasteten Elemente, da Ele­ menten mit unterschiedlichen Breiten, während derer Abtastung jedoch die glei­ che Anzahl von Taktsignalen gezählt werden, der gleiche Breitenindex zugewie­ sen wird. Durch eine sorgfältige Wahl der Taktrate kann erreicht werden, daß zum einen Elemente, die im wesentlichen die gleiche Breite aufweisen, den glei­ chen Breitenindex zugewiesen bekommen, während gleichzeitig Unterschiede in den erfaßten Elementbreiten, die lediglich durch Störeinflüsse oder fehlerhaften Druck bedingt sind, eliminiert werden.
Ist die Abtastgeschwindigkeit sowie die Breite der Codeelemente des zu erken­ nenden Strichcodes bekannt, so kann die Anzahl der Taktsignale, die jeweils während der Abtastung eines Codeelements gezählt werden, vorab bestimmt werden und jeweils als Sollbreitenindex dieser Codeelemente abgespeichert wer­ den. Beim Abtasten des zu überprüfenden Objekts können dann die tatsächlich ermittelten Breitenindexe mit den für die Codeelemente abgespeicherten Soll­ breitenindexen verglichen werden.
Nach einer weiteren vorteilhaften Ausführungsform der Erfindung erfolgt die Be­ stimmung der Breitenindexe jeweils für eine ein Abtastfenster definierende An­ zahl aufeinanderfolgender Elemente, deren Gesamtbreite kurzer ist als die Lauflänge des zu erkennenden Strichcodes. Die Unterteilung einer Abtastung in unterschiedliche Abtastfenster hat den Vorteil, daß, wenn das Abtastfenster klein genug gewählt wird, auch beim schrägen Überstreichen eines Strichcodes ausschließlich Codeelemente des Strichcodes und kein Streudruck erfaßt und ausgewertet werden. Dabei ist die Länge des Abtastfensters durch zwei gegen­ sätzliche Randbedingungen festzulegen. Zum einen ist das Abtastfenster mög­ lichst groß zu wählen, damit die Wahrscheinlichkeit, daß in dem Abtastfenster erfaßter Streudruck ausschließlich Elemente enthält, deren Breiten den Breiten der Codeelemente des zu erfassenden Strichcodes entsprechen, möglichst gering gehalten wird. Zum anderen muß die Länge des Abtastfensters möglichst klein gehalten werden, damit auch bei einer sehr schrägen Abtastung des Strichcodes keine in Laufrichtung des Strichcodes seitlich angeordneten Streudruckele­ mente in dem Abtastfenster zu liegen kommen und dadurch die Auswertung in­ nerhalb des Abtastfensters verfälschen. Je nach Anwendung muß die Länge des Abtastfensters zwischen der Gesamtlauflänge des zu erkennenden Strichcodes und beispielsweise einem Zehntel dieses Wertes gewählt werden.
Bevorzugt erfolgt eine Dekodierung des abgetasteten Strichcodes, wenn in min­ destens zwei aufeinanderfolgenden Abtastfenstern das Vorhandensein eines Strichcodes erkannt wird. Durch die Aneinanderreihung mehrerer, aufeinan­ derfolgender Abtastfenster wird die Wahrscheinlichkeit für das sichere Erkennen eines Strichcodes erhöht. Auf diese Weise können die Abtastfenster relativ klein gewählt werden, da Streudruck, der fälschlicherweise innerhalb eines Abtastfen­ sters als Strichcodeabschnitt eingestuft wird, nicht unmittelbar zu einer Fehl­ bewertung führt. Nur wenn in einer gewissen Anzahl von sich daran anschlie­ ßenden Abtastfenstern ebenfalls die abgetasteten Elemente als Codeelemente eines Strichcodes eingestuft werden, werden die in den aufeinanderfolgenden Abtastfenstern erkannten Elemente als Codeelemente interpretiert und entspre­ chend dekodiert. Grundsätzlich ist es jedoch auch möglich, eine Dekodierung des abgetasteten Strichcodes bereits durchzuführen, wenn in einem einzigen Abtastfenster das Vorhandensein eines Strichcodes erkannt wird. Das Ab­ tastfenster kann dabei eines von mehreren aufeinanderfolgenden Abtastfenstern oder auch das einzige Abtastfenster innerhalb einer Abtastung darstellen.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung werden die innerhalb des Abtastfensters liegenden Elemente als Codeelemente eines Strich­ codes erkannt, wenn die Anzahl der ermittelten Breitenindexe, die jeweils in ei­ nem vorgegebenen Bereich um die Sollbreitenindexe der Codeelemente liegen, deutlich größer ist als die Anzahl der ermittelten Breitenindexe, die außerhalb dieser Bereiche liegen. Durch den Vergleich der ermittelten Breitenindexe nicht nur mit den Sollbreitenindexen der Codeelemente, sondern mit Werten inner­ halb eines Bereichs um die Sollbreitenindexe herum ist gewährleistet, daß auch Codeelemente, deren tatsächliche Breite etwas von ihrer Normbreite abweicht, wie es beispielsweise bei Druckverzerrungen durch verlaufende Tinte der Fall ist, korrekt als Codeelemente und nicht als Streudruck interpretiert werden. Dabei wird gleichzeitig durch den Vergleich der Anzahl der ermittelten Breitenindexe innerhalb und außerhalb der vorgegebenen Bereiche Fehlern im Druckbild eines Strichcodes, die beispielsweise durch Verschmutzung oder schlechte Druckqua­ lität entstehen können, Rechnung getragen.
Nach einer weiteren vorteilhaften Ausführungsform der Erfindung wird als Kennzeichen für das Vorhandensein eines Strichcodes ein Gütekriterium G be­ stimmt, wobei die abgetasteten Elemente als Codeelemente eines Strichcodes erkannt werden, wenn das Gütekriterium G einen vorgegebenen Schwellenwert erreicht bzw. überschreitet. Bei entsprechender Wahl des Gütekriteriums kön­ nen die abgetasteten Elemente als Codeelemente eines Strichcodes erkannt wer­ den, wenn das Gütekriterium G einen vorgegebenen Schwellenwert nicht über, sondern unterschreitet.
Durch die Verwendung eines Gütekriteriums ist eine einfache, automatische Auswertung der ermittelten Breitenindexe möglich. Bevorzugt wird das Gütekri­ terium G dabei durch folgende Formel bestimmt:
Dabei gibt h(x) die Häufigkeitsverteilung der ermittelten Breitenindexe und f(x) eine Bewertungsfunktion für h(x) an.
Die Bewertungsfunktion f(x) ist dabei so zu wählen, daß in vorgegebenen Berei­ chen um die Sollbreitenindexe der Codeelemente herum ermittelte Breitenindexe eine hohe Bewertung, beispielsweise durch Multiplikation mit einem hohen Faktor, erhalten, während zwischen diesen Bereichen liegende Breitenindexe gering bewertet, beispielsweise mit 0 multipliziert werden.
Die genaue Form der Bewertungsfunktion f(x) kann dabei in vielfältiger Weise gewählt werden, wobei der optimale Verlauf von f(x) beispielsweise in einem Teach-in-Verfahren eingelernt werden kann. Dazu können unterschiedliche Be­ wertungsfunktionen während des Lernverfahrens eingesetzt und die jeweils er­ mittelten Ergebnisse für eine Vielzahl von abgetasteten Strichcodes verglichen werden. Die Bewertungsfunktion, mit der die höchste Erkennungsrate erzielt wird, kann dann als Standardbewertungsfunktion abgespeichert werden.
Beispielsweise kann als Bewertungsfunktion f(x) gewählt werden zu
wobei a eine beliebige Zahl ungleich Null, insbesondere a = 1, y und z beliebige Zahlen, n die Anzahl der unterschiedlichen Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes und xSi jeweils die unterschiedlichen Sollbrei­ tenindexe eines Codeelements des zu erkennenden Strichcodes sind.
Durch die Bewertungsfunktion f(x) werden somit ermittelte Breitenindexe, die innerhalb eines vorgegebenen Bereichs um die Sollbreitenindexe der Codeele­ mente des Strichcodes herum liegen, mit dem Wert a, insbesondere mit 1, be­ wertet, während die zwischen diesen Bereichen liegenden, ermittelten Breitenin­ dexe mit Null multipliziert und damit ausgeblendet werden. Anstelle dieser rechteckförmigen Pulse um die Sollbreitenindexe herum können beispielsweise auch gaußförmige Pulse oder sonstige geeignete Verläufe verwendet werden. Bei g(x) handelt es sich im wesentlichen um das Komplement von f(x), durch die die innerhalb der um die Sollbreitenindexe liegenden Bereiche ermittelten Brei­ tenindexe gering bewertet bzw. beispielsweise durch Multiplikation mit 0 ausge­ blendet werden, wohingegen die zwischen diesen Bereichen ermittelten Breiten­ indexe hoch, beispielsweise durch Multiplikation mit einem hohen Bewertungs­ faktor, bewertet werden.
Beispielsweise kann g(x) gewählt werden zu
wobei insbesondere b = a gewählt wird. Somit werden durch die Funktion g(x) die innerhalb der Bereiche um die Sollbreitenindexe der Codeelemente liegen­ den, ermittelten Breitenindexe durch Multiplikation mit 0 ausgeblendet, wäh­ rend die dazwischenliegenden, ermittelten Breitenindexe mit dem Wert b, insbe­ sondere mit 1, multipliziert werden.
Da es sich bei L um die Menge der ermittelten Breitenindexe handelt und N die Zahl der innerhalb eines Abtastfensters abgetasteten Elemente ist, wird G im Idealfall, wenn alle ermittelten Breitenindexe innerhalb der vorgegebenen Berei­ che um die Sollbreitenindexe der Codeelemente herum angeordnet sind, zu 1. Je kleiner die Anzahl der überstrichenen Elemente ist, deren ermittelten Breitenin­ dexe innerhalb der vorgegebenen Bereiche angeordnet sind, desto kleiner wird der Wert des Gütekriteriums G. Somit ist das Gütekriterium G ein Maß für die Wahrscheinlichkeit des Vorliegens eines Strichcodes während einer Abtastung.
Wird nach einer weiteren Ausführungsform der Erfindung das Gütekriterium G durch die Formel
bestimmt, so steigt auch hier mit zunehmendem Wert des Gütekriteriums G die Wahrscheinlichkeit, daß innerhalb des Abtastfensters ein Strichcode abgetastet wurde. Im Idealfall geht hier das Gütekriterium gegen unendlich.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird anstelle des Breitenindexes eines abgetasteten Elements das Verhältnis der Breiteninde­ xe des abgetasteten Elements zu dem sich daran anschließenden oder dem vor­ hergehenden Element verwendet. Weiterhin werden anstelle der Sollbreiteninde­ xe eines Codeelements die Verhältnisse der Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes verwendet. Durch die Auswertung der Verhält­ nisse der Breitenindexe zweier aufeinanderfolgender, abgetasteter Elemente wird erreicht, daß sich die Maxima der ermittelten Häufigkeitsverteilung der Breiten­ indexe unabhängig von der Abtastgeschwindigkeit, dem Leseabstand sowie dem Druckmaßstab des Strichcodes, d. h. der tatsächlichen Breite der gedruckten Codeelemente, an bestimmten, fest vorgegebenen Positionen innerhalb der Häu­ figkeitsverteilung angeordnet sind. So liegen die Maxima beispielsweise bei ei­ nem Zweibreitencode mit Druckverhältnis 3 : 1, bei dem die Codeelemente eine einfache bzw. eine dreifache Einheitsbreite besitzen, bei den Werten 1/3 = 0,33, 1/1 = 1 und 3/1 = 3.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird anstelle der Breitenindexe der Logarithmus der Breitenindexe verwendet. Auch durch diese logarithmische Bewertung der Abszissenwerte des zugehörigen Histo­ gramms wird eine Unabhängigkeit von der Abtastgeschwindigkeit, dem Druck­ maßstab und dem Leseabstand erreicht. Insbesondere wird bei einer solchen logarithmischen Bewertung der Breitenindexe der Abstand zwischen den Maxi­ ma der Häufigkeitsverteilung für unterschiedliche Elementbreiten bei gleichem Druckverhältnis gleich groß. Da sich unterschiedliche Abtastgeschwindigkeiten, unterschiedliche Druckmaßstäbe und unterschiedlicher Leseabstand in unter­ schiedlichen Breiten und damit unterschiedlichen Breitenindexen der ermittel­ ten Codeelemente niederschlagen, können durch die logarithmische Bewertung die Abhängigkeit von diesen Faktoren eliminiert werden. Auch dadurch ist eine einfachere Auswertung des ermittelten Histogramms möglich.
Weitere vorteilhafte Ausführungsformen sind in den Unteransprüchen angege­ ben.
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Be­ zugnahme auf die Zeichnungen näher beschrieben; in diesen zeigen:
Fig. 1 die Häufigkeitsverteilung der ermittelten Breitenindexe eines Zwei­ breitencodes,
Fig. 2 die Häufigkeitsverteilung der ermittelten Breitenindexe eines Zwei­ breitencodes mit gegenüber der in Fig. 1 gezeigten Darstellung ge­ änderten Breiten der Codeelemente,
Fig. 3 eine entsprechende Häufigkeitsverteilung der Breitenindexe bei der Abtastung von Streudruck,
Fig. 4 die Häufigkeitsverteilung der Breitenindexe eines Vierbreitencodes,
Fig. 5 die Häufigkeitsverteilung nach Fig. 2 mit zusätzlich dargestellten Bewertungsfunktionen,
Fig. 6 die Häufigkeitsverteilung nach Fig. 4 mit zusätzlich dargestellten Bewertungsfunktionen,
Fig. 7 eine Gütefunktion, die zur Bestimmung der Wahrscheinlichkeit, ob ein Strichcode vorliegt, verwendet wird,
Fig. 8 die Häufigkeitsverteilung nach Fig. 1 bei logarithmischer Bewer­ tung der Abszissenwerte,
Fig. 9 die Häufigkeitsverteilung nach Fig. 2 bei logarithmischer Bewer­ tung der Abszissenwerte und
Fig. 10 die Häufigkeitsverteilung der Verhältnis der Breitenindexe zweier aufeinanderfolgender Codeelemente eines Zweibreitencodes.
Fig. 1 zeigt in einem Histogramm die Häufigkeitsverteilung 1 der Breitenindexe x eines abgetasteten Zweibreitencodes mit Druckverhältnis 3 : 1, d. h. bei dem die Codeelemente Breiten im Verhältnis 3 : 1 besitzen. Die Breitenindexe x wurden durch Zählen von Taktimpulsen, die jeweils während des Überstreichen eines Codeelements aufsummiert wurden, ermittelt, wobei die Sollbreitenwerte sich in vorliegendem Fall zu x1 = 5 und x2 = 15 ergeben.
Das Abtastfenster, innerhalb dessen die abgetasteten Codeelemente ausgewertet wurden, wurde so gewählt, daß N = 30 Elemente abgetastet und jeweils deren Breitenindexe ermittelt wurden. Gemaß Fig. 1 wurden fünfzehn Codeelemente mit dem Breitenindex 6, drei Codeelemente mit dem Breitenindex 7, weitere drei Codeelemente mit dem Breitenindex 15, sechs Codeelemente mit dem Breitenin­ dex 16 und drei Codeelemente mit dem Breitenindex 17 erkannt. Man erkennt anhand der Maxima 5 und 6 der Häufigkeitsverteilung 1 deutlich, daß alle er­ mittelten Breitenindexe x um die Sollbreitenindexe x1 und x2 herum angeordnet sind. Die Abweichungen der ermittelten Breitenindexe von den Sollbreiteninde­ xen ist dabei durch Toleranzen im Druck bzw. der Abtastung begründet. Bei­ spielsweise können die gedruckten Codeelemente aufgrund eines Verlaufens der Tinte eine Breite besitzen, die größer als die Sollbreite ist.
Fig. 2 zeigt die in einem Histogramm dargestellten Häufigkeitsverteilung 2 eines Zweibreitencodes, bei dem die Codeelemente Sollbreitenindexe von x1 = 10 x2 = 30 besitzen, so daß die Maxima 7 und 8 der Häufigkeitsverteilung 2 nahe bei diesen Werten liegen. Entsprechend den schmäleren Codeelementen wurden bei einer Abtastung drei Breitenindexe zu zehn, zwölf Breitenindexe zu elf und wei­ tere drei Breitenindexe zu zwölf Taktimpulsen ermittelt. Entsprechend den brei­ teren Codeelementen wurden jeweils drei Breitenindexe zu neunundzwanzig, dreißig, einunddreißig und zweiunddreißig Taktimpulsen erkannt.
Auch aus Fig. 2 ist ersichtlich, daß die ermittelten Breitenindexe jeweils in Be­ reichen um die Sollbreitenindexe x1 und x2 der Codeelemente herum angeordnet sind.
Sowohl aus Fig. 1 als auch aus Fig. 2 ist ersichtlich, daß die Häufigkeitsvertei­ lungen 1 und 2 ausgeprägte Maxima 5, 6, 7, 8 im Bereich der Sollbreitenindexe x1 und x2 besitzen, während im Bereich zwischen den Sollbreitenindexen die Häufigkeitsverteilungen 1, 2 jeweils gleich Null sind.
Demgegenüber besitzt das in Fig. 3 dargestellte Histogramm, das die Häufig­ keitsverteilung 3 der bei der Abtastung von Streudruck ermittelten Breiteninde­ xe x darstellt, keine ausgeprägten Maxima. Beim Abtasten von Streudruck, bei dem es sich beispielsweise um Text oder beliebige andere Information handelt, wird eine Vielzahl von mehr oder weniger gleichmäßig auftretenden Breiteninde­ xen ermittelt, wodurch sich die in Fig. 3 dargestellte Häufigkeitsverteilung 3 er­ gibt.
Man erkennt deutlich den Unterschied zwischen den bei der Abtastung eines Strichcodes entstehenden Häufigkeitsverteilungen 1 und 2 mit jeweils zwei aus­ geprägten Maxima gegenüber der mehr oder weniger gleichmäßig verlaufenden Häufigkeitsverteilung 3 bei der Abtastung von Streudruck gemäß Fig. 3.
Das in Fig. 4 dargestellte Histogramm stellt die Häufigkeitsverteilung 4 der Breitenindexe x für einen Vierbreitencode (Code 128) dar. Die Sollbreitenindexe der Codeelemente betragen x1 = 10, x2 = 20, x3 = 30 und x4 = 40. Wie bei den Häufigkeitsverteilungen gemäß den Fig. 1 und 2 wurde das Abtastfenster so ge­ wählt, daß N = dreißig Codeelemente erfaßt und deren Breitenindexe bestimmt wurden.
Auch die Häufigkeitsverteilung 4 besitzt Maxima, die um die Sollbreitenindexe x1 bis x4 herum angeordnet sind. Die Häufigkeitsverteilung 4 entspricht der stati­ stischen Verteilung der einzelnen Codeelementbreiten in Vierbreitencodes, da die schmalen Elemente mit Breitenindex x1 am häufigsten und die breiten Code­ elemente mit Breitenindex x4 am seltensten innerhalb eines Vierbreitencodes vorkommen.
Auch der Vergleich zwischen Fig. 4 und Fig. 3 zeigt deutlich den Unterschied zwischen der Häufigkeitsverteilung 4 der Breitenindexe eines Vierbreitencodes und der Häufigkeitsverteilung 3 der Breitenindexe, die beim Abtasten von Streu­ druck ermittelt wird.
In Fig. 5 ist neben der bereits in Fig. 2 dargestellten Häufigkeitsverteilung 2 der Breitenindexe x eines Zweibreitencodes eine Bewertungsfunktion f(x) 9 sowie eine Bewertungsfunktion g(x) 10 dargestellt.
Die Bewertungsfunktion f(x) 9 hat in einem Bereich x1-Δz ≦ x ≦ x1 + Δz' sowie in einem weiteren Bereich x2-Δz'' ≦ x ≦ x2 + Δz''' den Funktionswert 1 und außer­ halb dieser Bereiche den Funktionswert 0. Die Bewertungsfunktion g(x) 10 ist dazu invers ausgebildet, d. h. sie hat innerhalb der angegebenen Bereiche den Funktionswert 0 und außerhalb dieser Bereiche den Funktionswert 1.
Durch die Bewertungsfunktionen f(x) und g(x) kann die Wahrscheinlichkeit, daß innerhalb eines Abtastfensters Codeelemente eines Strichcodes abgetastet wer­ den, abgeschätzt werden, indem die Häufigkeitsverteilung mit den gewählten Bewertungsfunktionen gewichtet wird. Dazu werden beispielsweise für alle er­ mittelten Breitenindexe deren Häufigkeit mit dem entsprechenden Funktions­ wert der Bewertungsfunktion f(x) multipliziert und die jeweils berechneten Pro­ dukte über alle ermittelten Breitenindexe aufaddiert. Auf diese Weise wird die Häufigkeit der innerhalb der um die Sollbreitenindexe vorgesehenen Bereiche angeordneten, ermittelten Breitenindexe berechnet, während die zwischen die­ sen Bereichen liegenden Breitenindexe durch Multiplikation mit 0 ausgeblendet werden.
Entsprechend werden für alle ermittelten Breitenindexe, deren Häufigkeiten mit den entsprechenden Funktionswerten der Bewertungsfunktion g(x) multipliziert und aufsummiert, wodurch die Gesamthäufigkeit der zwischen den Bereichen liegenden Breitenindexe bestimmt wird.
Anschließend wird die Gesamtsumme der Häufigkeiten der zwischen den Berei­ chen liegenden Breitenindexe von der Gesamtsumme der Häufigkeiten der in­ nerhalb der Bereiche angeordneten Breitenindexe subtrahiert und das Ergebnis durch die Gesamtanzahl N der innerhalb des Abtastfensters abgetasteten Ele­ mente dividiert.
Das auf diese Weise ermittelte Gütekriterium G ist im Idealfall, d. h., wenn alle ermittelten Breitenindexe innerhalb der um die Sollbreitenindexe angeordneten Bereiche liegen, gleich 1 und ist um so kleiner, je mehr ermittelte Breitenindexe außerhalb dieser Bereiche angeordnet sind. Somit gibt das Gütekriterium G ein Maß für die Wahrscheinlichkeit an, daß innerhalb des Abtastfensters ein Strich­ code abgetastet wird.
Anstelle der Differenz der Summenprodukte zwischen der Häufigkeitsverteilung h(x) und der jeweiligen Bewertungsfunktion f(x) bzw. g(x) und anschließender Division durch die Anzahl N der überstrichenen Elemente kann beispielsweise ein alternatives Gütekriterium G durch Bildung des Verhältnisses aus dem Summenprodukt der Häufigkeitsverteilung h(x) mit der Bewertungsfunktion f(x) und dem Summenprodukt der Häufigkeitsverteilung h(x) und der Bewertungs­ funktion g(x) berechnet werden. Das auf diese Weise berechnete Gütekriterium G ist um so größer, je mehr ermittelte Breitenindexe innerhalb der vorgegebenen Bereiche um die Sollbreitenindexe herum angeordnet sind. Daher kann auch dieses Gütekriterium G zur Bestimmung der Wahrscheinlichkeit, daß innerhalb eines Abtastfensters ein Strichcode bzw. ein Strichcodeabschnitt überstrichen wurde, verwendet werden.
Die Werte Δz, Δz', Δz'' und Δz''' können dabei sowohl unterschiedlich gewählt werden, wie es in Fig. 5 dargestellt ist, so daß die Bereiche um die Sollbreitenin­ dexe x1 und x2 unsymmetrisch ausgebildet sind. Dadurch kann beispielsweise Druckverzerrungen, die eine Verbreiterung der Codeelemente gegenüber den Sollbreiten bewirken, Rechnung getragen werden. Es ist jedoch auch möglich, die Werte Δz, Δz', Δz'' und Δz''' gleich groß zu wählen, so daß die Bereiche um die Sollbreitenindexe x1 und x2 symmetrisch und gleich groß ausgebildet sind.
Fig. 6 zeigt die Häufigkeitsverteilung 4 für einen Vierbreitencode, wie sie bereits in Fig. 4 dargestellt wurde. Darüber hinaus ist in Fig. 6 sowohl die Bewertungs­ funktion f(x) 11 und die dazu inverse Bewertungsfunktion g(x) 12 dargestellt.
Aus Fig. 6 ist ersichtlich, daß von den dreißig ermittelten Breitenindexen ledig­ lich drei (bei den Breitenindexen 13 und 23) nicht innerhalb der Bereiche um die Sollbreitenindexe x1, x2, x3 und x4 angeordnet sind. Somit ergibt sich bei der Auswertung einer der Gütekriterien G ein Wert, der auf eine hohe Wahrschein­ lichkeit für das Vorliegen eines Strichcodes hinweist.
Wird das Abtastfenster relativ klein gewählt, so kann zufällig ein relativ großer Wert für das Gütekriterium G berechnet werden, obwohl innerhalb des Ab­ tastfensters kein Strichcode, sondern Streudruck abgetastet wurde. Dies ist dann der Fall, wenn der abgetastete Streudruck Elemente enthält, deren Brei­ tenindexe im wesentlichen gleich den Breitenindexen der Codeelemente des zu erkennenden Strichcodes sind. Um die Wahrscheinlichkeit für die richtige Ein­ ordnung, ob eine Strichcode vorliegt oder nicht, zu erhöhen, kann eine Vielzahl von aufeinanderfolgenden Abtastfenstern ausgewertet werden, wobei ein Strich­ code dann als erkannt gilt, wenn für mehrere aufeinanderfolgende Abtastfenster das berechnete Gütekriterium jeweils einen vorgegebenen Schwellenwert über­ schreitet.
Dies ist in Fig. 7 dargestellt. Fig. 7 zeigt eine Gütefunktion 13, die aus einer Viel­ zahl von miteinander verbundenen Werten 14 besteht. Die Werte 14 stellen je­ weils berechnete Werte eines Gütekriteriums dar, die jeweils für aufeinanderfol­ gende Abtastfenster berechnet wurden. Weiterhin ist in Fig. 7 ein Schwellenwert S angegeben, bei dessen Überschreiten durch die Werte des jeweiligen Gütekri­ teriums ein Strichcode als erkannt angesehen wird.
Ein Bereich 15 stellt die von sieben Abtastfenstern abgedeckte Länge eines Strichcodes dar, wobei für jedes dieser Abtastfenster ein Wert 14 des Gütekrite­ riums berechnet wurde, der oberhalb des Schwellenwertes S liegt. Außerhalb des Bereichs 15, d. h. außerhalb des Strichcodes, sind die Werte 14 des Güte­ kriteriums unterhalb des Schwellenwertes S angeordnet. Beim Überstreichen des den Strichcode tragenden Objektes werden somit in aufeinanderfolgende Abtastfenstern zunächst jeweils Gütekriterien berechnet, deren Werte unterhalb des Schwellenwertes liegen. Somit werden die jeweils abgetasteten Bereiche nicht als Strichcodeabschnitte eingestuft.
Im Verlauf der weiteren Abtastung wird zum ersten Mal durch den Wert 14' der Schwellenwert S überschritten, so daß der innerhalb dieses Abtastfensters über­ strichene Bereich des Strichcodes als Strichcodeabschnitt eingestuft wird. Nachdem für eine einstellbare Anzahl von aufeinanderfolgenden Abtastfenstern jeweils der berechnete Wert 14 des Gütekriteriums über dem Schwellenwert S liegt, werden ausgehend von dem Abtastfenster, in dem der Schwellenwert S zum ersten Mal vom Gütekriterium überschritten wurde, die abgetasteten Berei­ che als Bereiche eines Strichcodes einstuft.
Auf diese Weise wird die Abtastung und Auswertung so lange fortgesetzt, bis der Wert 14', des Gütekriteriums zum ersten Mal unter den Schwellenwert S sinkt. Der bis zu diesem Zeitpunkt in den aufeinanderfolgenden Abtastfenstern abge­ tastete Bereich 15 des Objekts wird als Strichcode klassifiziert und mit konven­ tionellen Dekodierverfahren dekodiert.
Die in Fig. 8 dargestellte Häufigkeitsverteilung 1' stellt die Häufigkeitsverteilung 1 nach Fig. 1 dar, wobei die Breitenindexe x nicht linear, sondern logarithmisch dargestellt sind. Gleiches gilt für die Darstellung gemäß Fig. 9, die eine Häufig­ keitsverteilung 2' zeigt, die der Häufigkeitsverteilung 2 nach Fig. 2 bei logarith­ mischer Darstellung der Breitenindexe x entspricht.
Im Gegensatz zu den nicht logarithmischen Darstellungen gemäß den Fig. 1 und 2, bei denen die Abstände zwischen den Maxima 5 und 6 sowie den Maxima 7 und 8 unterschiedlich sind, besitzen die Maxima 5, und 6' bzw. 7' und 8' jeweils den gleichen Abstand zueinander, nämlich ca. 4,7 Abszisseneinheiten.
Durch die logarithmische Bewertung der Breitenindexe wird somit die Distanz zwischen den Maxima, die die schmalen und breiten Codeelemente der Strich­ codes repräsentieren, unabhängig von der tatsächlichen Breite der Codeele­ mente. Somit werden durch die logarithmische Darstellung Faktoren wie der Druckmaßstab des Strichcodes, Leseabstand sowie Abtastgeschwindigkeit, die jeweils einen Skalierfaktor für die erkannte Breite der abgetasteten Codeele­ mente bewirken, kompensiert. Solange das Druckverhältnis zweier unterschied­ licher, abgetasteter Strichcodes gleich gewählt wird, besitzen die Maxima der im logarithmischen Maßstab dargestellten Häufigkeitsverteilungen jeweils den glei­ chen Abstand zueinander.
Bei einer Überprüfung, ob die Maxima der Häufigkeitsverteilung von ermittelten Breitenindexen mit den Sollbreitenindexen des zu erkennenden Strichcodes kor­ respondieren, können somit bei einer logarithmischen Bewertung der Breitenin­ dexe für unterschiedliche Druckbreiten, Abtastgeschwindigkeiten oder Abta­ stabstände jeweils die gleichen Bewertungsfunktion f(x) und g(x) verwendet wer­ den. Eine Überdeckung der Maxima der Häufigkeitsverteilung h(x) durch die Bewertungsfunktion f(x) sowie der zwischen den Maxima liegenden Bereichen durch die Wertungsfunktion g(x) wird somit durch einheitliche Bewertungsfunk­ tionen f(x) und g(x) unabhängig von dem Druckmaßstab des Strichcodes, dem Leseabstand sowie der Abtastgeschwindigkeit erreicht. Es muß lediglich ein Offset zwischen den unterschiedlichen Häufigkeitsverteilungen berücksichtigt werden.
Fig. 10 zeigt den Verlauf einer Häufigkeitsverteilung 15 eines Zweibreitencodes, wenn anstelle der Breitenindexe jeweils die Verhältnisse der Breitenindexe zwei­ er aufeinanderfolgender, abgetasteter Elemente zugrundegelegt werden. Bei ei­ nem Zweibreitencode mit einem Druckverhältnis von 3 : 1 ergeben sich somit als mögliche Verhältnisse zwischen aufeinanderfolgenden Codeelementen die Werte 1/3, 1 und 3. Beim Abtasten eines Strichcodes entstehen somit die in Fig. 10 dargestellten Maxima 16, 17, 18, die um die Sollverhältniswerte 1/3, 1 und 3 herum angeordnet sind.
Die Verwendung der Verhältnisse der Breitenindexe zweier aufeinanderfolgender abgetasteter Elemente zur Bestimmung der Häufigkeitsverteilung hat, wie die bereits beschriebene logarithmische Darstellung, den Vorteil, daß Skalierungs­ faktoren, die beispielsweise durch unterschiedliche Druckmaßstäbe des Strich­ codes, unterschiedliche Leseabstände sowie unterschiedliche Abtastgeschwin­ digkeiten entstehen, durch die Verhältnisbildung kompensiert werden.
Darüber hinaus hat die Zugrundelegung der Verhältnisse der Breitenindexe zweier aufeinanderfolgender, abgetasteter Elemente gegenüber der logarithmi­ schen Darstellung den Vorteil, daß bei bekanntem Druckverhältnis die Lage der Sollbreitenindexverhältnisse fest angegeben werden kann. Es muß in diesem Fall also kein Offset berücksichtigt werden, wie es bei der logarithmischen Dar­ stellung der Fall ist.
Die Auswertung der abgetasteten Elemente erfolgt, wie zu den Fig. 5 und 6 be­ schrieben, durch Gewichtung der Häufigkeitsverteilung mit den Bewertungs­ funktion f(x) und g(x).
Während bisher grundsätzlich davon ausgegangen wurde, daß Balken und Lüc­ ken eines Codeelements bzw. helle und dunkle Elemente eines abgetasteten Be­ reichs eines Objekts gleichwertig als Elemente betrachtet und während einer Abtastung gleich behandelt werden, ist es auch möglich, die Balken und Lücken bzw. die hellen und dunklen Elemente separat zu betrachten. Dies ist beispiels­ weise dann vorteilhaft, wenn durch Druckverzerrungen, beispielsweise einem Verschmieren der Balken, diese generell breiter ausgebildet sind als entspre­ chende Lückenelemente. Durch die Druckverzerrungen würden die Breiteninde­ xe für Balken und theoretisch gleich breite Lücken unterschiedlich bestimmt werden, so daß eine zusätzliche Verfälschung der ermittelten Häufigkeitsvertei­ lung entsteht. Bei einer Bestimmung der Häufigkeitsverteilung, jeweils getrennt für Balken und Lücken oder ausschließlich für Balken oder für Lücken, tritt die­ se Verfälschung nicht auf, so daß die jeweils separat ermittelte Häufigkeitsver­ teilung zu einem besseren Wert für das berechnete Gütekriterium führt.
Weiterhin ist es möglich, daß jeweils zwei aufeinanderfolgende Balken- und Lüc­ kenelemente als ein Gesamtelement betrachtet werden, da sich auf diese Weise ebenfalls die durch Druckverzerrungen, z. B. Verschmieren der Balken, verur­ sachten Fehler in den Breitenindexen der Balken und Lücken durch die Sum­ menbildung aufheben. Dabei ist es zum einen möglich, die Gesamtelemente oh­ ne Überlappung zu wählen, d. h. ein Balken- und ein sich daran anschließendes Lückenelement als erstes Gesamtelement und das nächste Balken- und sich daran anschließende Lückenelement wiederum als nächstes Gesamtelement zu behandeln. Es ist jedoch auch möglich, die Gesamtelemente überlappend zu betrachten, so daß ein Balken- und das sich daran anschließende Lückenele­ ment das erste Gesamtelement ergeben, woraufhin das nächste Gesamtelement aus dem gerade betrachteten Lückenelement und dem sich daran anschließen­ den Balkenelement zusammensetzt usw.
Da beim Zusammenfassen zweier aufeinanderfolgender Codeelemente (Balken und Lücken) bei einem Zweibreitencode Gesamtelemente mit drei unterschiedli­ chen Breiten (1+1, 1+2, 2+2 Grundbreiten) existieren, ist in diesem Fall eine Auswertung analog zu der Auswertung eines Dreibreitencodes erforderlich. Ins­ besondere besitzt die Häufigkeitsverteilung in diesem Fall wie bei einem Drei­ breitencode drei Maxima, so daß die Selektivität des Algorithmus sich gegenüber der Auswertung der normalen Häufigkeitsverteilung eines Zweibreitencodes mit zwei Maxima verschlechtert.

Claims (23)

1. Verfahren zum Erkennen und Lesen eines an einem Objekt vorgesehenen, aus einer Anzahl von Codeelementen bestehenden Strichcodes, dadurch gekennzeichnet,
daß das den Strichcode tragende Objekt durch einen oder mehrere Ab­ taststrahlen eines Strichcodelesers abgetastet wird, wobei jedes Über­ streichen des Objekts durch einen Abtaststrahl eine Abtastung bildet und während einer Abtastung überstrichene helle und dunkle Bereiche des Objekts als abgetastete Elemente erkannt werden,
daß zumindest für einen Teil der während einer Abtastung abgetasteten Elemente jeweils ein für die Breite des Elements in Abtastrichtung reprä­ sentativer Breitenindex bestimmt wird,
daß jeweils die Häufigkeit des Auftretens der ermittelten Breitenindexe bestimmt wird und
daß aus den ermittelten Häufigkeiten auf das Vorliegen eines Strichcodes geschlossen wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Breitenindexe aus einer Vielzahl von vorgegebenen, diskreten Werten gewählt werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß während einer Abtastung die Zeitdauer für das Überstreichen eines Elements und aus dieser Zeitdauer der Breitenindex für dieses Element bestimmt wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Zeitdauer durch Zählen eines Taktsignals bestimmt und als Brei­ tenindex jeweils die Anzahl der Taktsignale, die während des Abtasten ei­ nes Elements gezählt werden, verwendet wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Bestimmung der Breitenindexe jeweils für eine ein Abtastfenster definierende Anzahl aufeinanderfolgender Elemente erfolgt, deren Ge­ samtbreite kürzer ist als die Lauflänge des zu erkennenden Strichcodes.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß eine Dekodierung des abgetasteten Strichcodes erfolgt, wenn in min­ destens zwei aufeinanderfolgenden Abtastfenstern das Vorhandensein ei­ nes Strichcodes erkannt wird.
7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß die innerhalb des Abtastfensters liegenden Elemente als Codeele­ mente eines Strichcodes erkannt werden, wenn die Anzahl der ermittel­ ten Breitenindexe, die jeweils in einem vorgegeben Bereich um die ent­ sprechenden Sollbreitenindexe der Codeelemente liegen, deutlich größer ist als die Anzahl der ermittelten Breitenindexe, die außerhalb dieser Be­ reiche liegen.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß als Kennzeichen für das Vorhandensein eines Strichcodes ein Güte­ kriterium G bestimmt wird und die abgetasteten Elemente als Codeele­ mente eines Strichcodes erkannt werden, wenn das Gütekriterium G ei­ nen vorgegebenen Schwellenwert erreicht bzw. überschreitet.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß das Gütekriterium G gemäß folgender Formel bestimmt wird:
  • - h(x) die Häufigkeitsverteilung der ermittelten Breitenindexe,
  • - f(x) eine Bewertungsfunktion für h(x),
  • - g(x) das Komplement zu f(x),
  • - L die Menge der ermittelten Breitenindexe und
  • - N die Zahl der innerhalb eines Abtastfensters abgetasteten Ele­ mente ist.
10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß das Gütekriterium G gemäß folgender Formel bestimmt wird:
  • - h(x) die Häufigkeitsverteilung der ermittelten Breitenindexe,
  • - f(x) eine Bewertungsfunktion von h(x),
  • - g(x) das Komplement zu f(x) und
  • - L die Menge der ermittelten Breitenindexe ist.
11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß die Bewertungsfunktion f(x) gewählt wird zu
wobei a eine beliebige Zahl ungleich Null, insbesondere a = 1, y, z beliebi­ ge Zahlen, n die Anzahl der unterschiedlichen Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes und xSi die unterschiedli­ chen Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes sind.
12. Verfahren nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, daß g(x) gewählt wird zu
13. Verfahren nach dem Ansprüchen 9 und 12, dadurch gekennzeichnet, daß a und b gleich groß gewählt werden.
14. Verfahren nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, daß das Gütekriterium G und insbesondere die Bewertungsfunktion f(x) und/oder das Komplement g(x) in einem Lernverfahren eingelernt werden.
15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Dekodierung des erkannten Strichcodes mit üblichen Dekodier­ verfahren erfolgt.
16. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Häufigkeitsverteilung der ermittelten Breitenindexe insbesondere durch einen Tiefpaß geglättet wird.
17. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Maxima der Häufigkeitsverteilung der ermittelten Breitenindexe bestimmt und die den Maxima zugeordneten ermittelten Breitenindexe mit den Sollbreitenindexen der Codeelemente des zu erkennenden Strich­ codes verglichen werden.
18. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß anstelle des Breitenindex eines abgetasteten Elements das Verhältnis der Breitenindexe des abgetasteten Elements und des sich daran an­ schließenden oder des vorhergehenden Elements verwendet wird.
19. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß anstelle des Sollbreitenindexes eines Codeelements die Verhältnisse der Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes verwendet werden.
20. Verfahren nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, daß anstelle der Breitenindexe der Logarithmus der Breitenindexe ver­ wendet wird.
21. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jeweils ein Gesamtbreitenindex für zwei aufeinanderfolgende, abgeta­ stete Elemente bestimmt wird.
22. Verfahren nach einem der Ansprüche 1 bis 20, dadurch gekennzeichnet, daß die Breitenindexe für helle und dunkle abgetastete Elemente getrennt bestimmt und/oder ausgewertet werden.
23. Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehe­ nen, aus einer Anzahl von Codeelementen bestehenden Strichcodes, ins­ besondere zur Durchführung des Verfahrens nach einem der vorherge­ henden Ansprüche, gekennzeichnet durch
einen Strichcodeleser zum Abtasten eines den Strichcode tragenden Ob­ jektes durch einen oder mehrere Abtaststrahlen sowie zum Erkennen von während einer Abtastung überstrichenen hellen und dunklen Bereichen des Objekts als abgetastete Elemente, wobei eine Abtastung jeweils durch Überstreichen des Objekts durch einen Abtaststrahl gebildet ist,
durch eine Breitenindexbestimmungseinheit, durch die zumindest für ei­ nen Teil der während einer Abtastung abgetasteten Elemente jeweils ein für die Breite des Elements in Abtastrichtung repräsentativer Breitenin­ dex bestimmbar ist,
durch eine Zähleinheit, durch die jeweils die Häufigkeit des Auftretens der ermittelten Breitenindexe bestimmbar ist und
durch eine Auswerteeinheit, zur Auswertung der ermittelten Häufigkeiten und Klassifizierung der abgetasteten Elemente als Teil eines Strichcodes.
DE19724711A 1997-06-11 1997-06-11 Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes Expired - Fee Related DE19724711B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE19724711A DE19724711B4 (de) 1997-06-11 1997-06-11 Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes
US09/090,031 US6039253A (en) 1997-06-11 1998-06-10 Method and apparatus for the recognition and reading of a bar code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19724711A DE19724711B4 (de) 1997-06-11 1997-06-11 Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes

Publications (2)

Publication Number Publication Date
DE19724711A1 true DE19724711A1 (de) 1998-12-17
DE19724711B4 DE19724711B4 (de) 2004-09-16

Family

ID=33441859

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19724711A Expired - Fee Related DE19724711B4 (de) 1997-06-11 1997-06-11 Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes

Country Status (2)

Country Link
US (1) US6039253A (de)
DE (1) DE19724711B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6494376B1 (en) * 1998-09-14 2002-12-17 Psc Scanning, Inc. Compensation for scan line variations in a bar code scanner system
US6513714B1 (en) 1998-09-14 2003-02-04 Psc Scanning, Inc. Character reconstruction and element level processing in bar code scanning system
US6354503B1 (en) * 2000-06-21 2002-03-12 Rjs Systems International Bar code online scanner/verifier
CN1275183C (zh) * 2001-01-26 2006-09-13 富士通株式会社 信息读取和读取信号处理方法及装置、信号取得、频带限制处理、定时点振幅抽出方法
US6478224B1 (en) 2001-03-02 2002-11-12 Psc Scanning, Inc. Symbology-independent method and apparatus for identifying potential bar code data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096992A (en) * 1976-09-06 1978-06-27 Nippondenso Co., Ltd. System for recognizing bar code information
DE3538219A1 (de) * 1984-11-02 1986-05-07 N.V. Philips' Gloeilampenfabrieken, Eindhoven Leseanordnung fuer strichmarkierungen
US5326961A (en) * 1992-04-24 1994-07-05 Nippondenso Co., Ltd. Bar code reader with comparison of bar widths and signal transitions
WO1996007155A1 (en) * 1993-01-29 1996-03-07 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
US5561283A (en) * 1988-10-21 1996-10-01 Symbol Technologies, Inc. Laser scanning system and scanning method for reading bar codes
US5612544A (en) * 1994-06-13 1997-03-18 Pruftechnik Dieter Busch Ag Measuring device with an integrated light scanning means which scans both rotations of a rotating body and coded data associated with the rotating body

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873426A (en) * 1988-08-03 1989-10-10 Image Business Systems Corporation Technique for reading bar codes
US5270525A (en) * 1990-01-08 1993-12-14 Nippondenso Co., Ltd. Non-decoded type bar code reading apparatus
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
DE19534009C2 (de) * 1995-09-14 1998-08-06 Commodas Gmbh Verfahren zum Lesen von sehr schnell an der Lesevorrichtung vorbeibewegten Barcodes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096992A (en) * 1976-09-06 1978-06-27 Nippondenso Co., Ltd. System for recognizing bar code information
DE3538219A1 (de) * 1984-11-02 1986-05-07 N.V. Philips' Gloeilampenfabrieken, Eindhoven Leseanordnung fuer strichmarkierungen
US5561283A (en) * 1988-10-21 1996-10-01 Symbol Technologies, Inc. Laser scanning system and scanning method for reading bar codes
US5326961A (en) * 1992-04-24 1994-07-05 Nippondenso Co., Ltd. Bar code reader with comparison of bar widths and signal transitions
WO1996007155A1 (en) * 1993-01-29 1996-03-07 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
US5612544A (en) * 1994-06-13 1997-03-18 Pruftechnik Dieter Busch Ag Measuring device with an integrated light scanning means which scans both rotations of a rotating body and coded data associated with the rotating body

Also Published As

Publication number Publication date
US6039253A (en) 2000-03-21
DE19724711B4 (de) 2004-09-16

Similar Documents

Publication Publication Date Title
DE4116054C2 (de) Vorrichtung zum Wahrnehmen einer Teilchenaggregation
DE4444593C2 (de) Entfernungsmeßvorrichtung
EP0585724A2 (de) Verfahren und Vorrichtung zur Erkennung von Druckbildern auf Dokumenten
DE2449958A1 (de) Code-lesevorrichtung
EP0483296B1 (de) Verfahren zum auswerten binärer informationen einer magnetspeicherkarte
WO1982001778A1 (en) Method and device for the marking and/or identification of a data medium
DE3101851A1 (de) Verfahren zur abtastung von sprache
DE102010030289A1 (de) Radarsensor und Verfahren zum Betreiben eines Radarsensors
EP1897067B1 (de) Verfahren und vorrichtung zur erkennung einer münze unter verwendung ihres prägebildes
DE2338561A1 (de) Verfahren und vorrichtung zum identifizieren von objekten
WO2009056095A2 (de) Detektor und verfahren zum erkennen einer fahrspurbegrenzung
DE19724711A1 (de) Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes
DE102018207744B3 (de) Radar-Signalverarbeitungsvorrichtung
WO2003019234A1 (de) Verfahren zur erkennung und verfolgung von objekten
CH676162A5 (de)
DE4323293A1 (de) Verfahren und Abtastanordnung zur Identifizierung eines aus aufeinanderfolgenden hellen und dunklen Feldern bestehenden Codes
DE19601950C1 (de) Verfahren zur Erkennung von Materialsorten, insbesondere Kunststoffsorten
EP0520230B1 (de) Verfahren zum Betrieb eines elektronischen Münzprüfers
DE2720196A1 (de) Diskriminierschaltung
WO2002023492A2 (de) Verfahren zur klassifizierung von dokumenten
DE3215673A1 (de) Gestaltabtastvorrichtung
DE102021202878A1 (de) Verfahren zur Reichweitenbestimmung für einen LiDAR-Sensor
DE19806822C2 (de) Ausweiskarte, Verfahren zu ihrer Herstellung und Verfahren zum Lesen eines Codes auf einem Unterschriftsstreifen der Ausweiskarte
EP0996924A1 (de) Verfahren zur ermittlung eines identifikationscodes aus fingerabdruckbildern
DE10140225A1 (de) Verfahren und Vorrichtung zur Messung des Durchmessers von Münzen

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee