DE19724711B4 - 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 Download PDF

Info

Publication number
DE19724711B4
DE19724711B4 DE19724711A DE19724711A DE19724711B4 DE 19724711 B4 DE19724711 B4 DE 19724711B4 DE 19724711 A DE19724711 A DE 19724711A DE 19724711 A DE19724711 A DE 19724711A DE 19724711 B4 DE19724711 B4 DE 19724711B4
Authority
DE
Germany
Prior art keywords
width
determined
indices
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.)
Expired - Fee Related
Application number
DE19724711A
Other languages
English (en)
Other versions
DE19724711A1 (de
Inventor
Jürgen 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Printers Characterized By Their Purpose (AREA)

Abstract

Verfahren zum Erkennen und Lesen eines an einem Objekt vorgesehenen, aus einer Anzahl von Codeelementen bestehenden Strichcodes, bei dem 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, und 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, dadurch gekennzeichnet,
dass jeweils die Häufigkeit des Auftretens der ermittelten Breitenindexe bestimmt wird,
dass aus den ermittelten Häufigkeiten auf das Vorliegen eines Strichcodes geschlossen wird,
wobei die Bestimmung der Breitenindexe jeweils für eine ein Abtastfenster definierende Anzahl aufeinander folgender Elemente erfolgt, deren Gesamtbreite kürzer oder gleich der Lauflänge des zu erkennenden Strichcodes ist, und die ermittelten Breitenindexe mit vorgegebenen Sollbreitenindexen der Codeelemente des...

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Erkennen und Lesen eines an einem Objekt vorgesehenen, aus einer Anzahl von Codeelementen bestehenden Strichcodes nach dem Oberbegriff des Anspruchs 1. Weiterhin ist die Erfindung auf eine Vorrichtung zum Durchführen dieses Verfahrens gerichtet.
  • Strichcodes werden üblicherweise jeweils an ihrem Anfang und Ende durch sogenannte 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 Streudruckinformation, 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 Fällen gewährleistet werden, daß ein Strichcode normgerecht mit Weißzonen abgeschlossen 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 zwischen Streudruck und Strichcode nicht durch Erkennen einer Weißzone möglich.
  • Aus der DE 195 34 009 A1 sind ein Verfahren und eine Vorrichtung zum Erkennen und Lesen von Strichcodes bekannt, bei denen zum Erkennen eines Barcodes nach linienförmigen Strukturen gesucht und anschließend die Anzahl der gefundenen Linien ermittelt sowie geprüft wird, ob eine Mindestanzahl für einen Barcode erreicht ist.
  • Aus der EP 0 353 842 A2 ist ein Verfahren zum Erkennen und Lesen eines Barcodes bekannt, bei dem die Überprüfung auf einen vorliegenden Barcode durch einen Vergleich der Balkenbreiten erfolgt.
  • Aus der US 5,270,525 A sind ein Verfahren sowie eine Vorrichtung zum Lesen eines Strichcodes bekannt, wobei überstrichene Codeelemente je nach Dicke in unterschiedliche Klassen eingeteilt werden, um dadurch die Erkennungsgenauigkeit zu erhöhen.
  • Aus der US 5,343,028 A ist ein Verfahren zum Lesen eines Strichcodes bekannt, bei dem zur Verbesserung der Decodiereigenschaft ein Histogramm von Pixelintensitäten von erfassten Codeelementen erzeugt wird.
  • Aufgabe der Erfindung ist es, ein Verfahren und eine Vorrichtung der eingangs genannten Art anzugeben, 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 erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruchs 1 und eine Vorrichtung mit den Merkmalen des Anspruchs 21 gelöst.
  • Die Erfindung geht von der grundsätzlichen Überlegung aus, daß die Breiten der Codeelemente innerhalb eines zu erkennenden Strichcodes nur bestimmte, bekannte 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 besteht, 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. Entsprechendes gilt für einen Dreibreitencode, bei dem im Idealfall lediglich drei unterschiedliche 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 Abta strichtung 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, einem 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 jeweiligen 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 unterscheidet sich die Häufigkeitsverteilung der Breitenindexe eines Strichcodes deutlich von der Häufigkeitsverteilung der Breitenindexe eines Streudrucks, die üblicherweise keine ausgeprägten Maxima, sondern einen relativ gleichmäßigen Verlauf besitzt.
  • Um eine einfache Auswertung der abgetasteten Elemente zu ermöglichen, werden in einer bevorzugten Ausführungsform der Erfindung die Breitenindexe aus einer Vielzahl von vorgegebenen, diskreten Werten gewählt. Dadurch wird erreicht, daß die in der Praxis auftretenden Schwankungen der ermittelten Breitenindexe, die beispielsweise durch unsauberen Druck bedingt sein können, nicht zu einer unüberschaubaren Vielzahl von unterschiedlichen, zu vergleichenden Breitenindexen führen, sondern daß beispielsweise durch Rundung auf den nächsten vorgegebenen, diskreten Wert eine begrenzte Anzahl von ermittelten 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 Bestimmung der Breitenindexe für die abgetasteten Elemente möglich. Dabei kann insbesondere die Bestimmung der Zeitdauer durch Zählen eines Taktsignals erfolgen, 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 Elementen mit unterschiedlichen Breiten, während derer Abtastung jedoch die gleiche Anzahl von Taktsignalen gezählt werden, der gleiche Breitenindex zugewiesen wird. Durch eine sorgfältige Wahl der Taktrate kann erreicht werden, daß zum einen Elemente, die im wesentlichen die gleiche Breite aufweisen, den gleichen 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 erkennenden 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 werden. Beim Abtasten des zu überprüfenden Objekts können dann die tatsächlich ermittelten Breitenindexe mit den für die Codeelemente abgespeicherten Sollbreitenindexen verglichen werden.
  • Erfindungsgemäß erfolgt die Bestimmung der Breitenindexe jeweils für eine ein Abtastfenster definierende Anzahl aufeinanderfolgender Elemente, deren Gesamtbreite kürzer 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 gegensätzliche Randbedingungen festzulegen. Zum einen ist das Abtastfenster möglichst 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 Streudruckelemente in dem Abtastfenster zu liegen kommen und dadurch die Auswertung innerhalb 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 mindestens zwei aufeinanderfolgenden Abtastfenstern das Vorhandensein eines Strichcodes erkannt wird. Durch die Aneinanderreihung mehrerer, aufeinanderfolgender 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 Abtastfensters als Strichcodeabschnitt eingestuft wird, nicht unmittelbar zu einer Fehlbewertung 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 entsprechend 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 Abtastfenster 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 Strichcodes erkannt, wenn die Anzahl der ermittelten Breitenindexe, die jeweils in einem 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 innerhalb 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 Druckqualität entstehen können, Rechnung getragen.
  • Nach der Erfindung wird als Kennzeichen für das Vorhandensein eines Strichcodes ein Gütekriterium G bestimmt, 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önnen die abgetasteten Elemente als Codeelemente eines Strichcodes erkannt werden, 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ütekriterium G dabei durch folgende Formel bestimmt:
    Figure 00070001
  • 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 Bereichen 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 Bewertungsfunktionen während des Lernverfahrens eingesetzt und die jeweils ermittelten 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
    Figure 00080001
    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 Sollbreitenindexe 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 Codeelemente des Strichcodes herum liegen, mit dem Wert a, insbesondere mit 1, bewertet, während die zwischen diesen Bereichen liegenden, ermittelten Breitenindexe 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 Breitenindexe gering bewertet bzw. beispielsweise durch Multiplikation mit 0 ausgeblendet werden, wohingegen die zwischen diesen Bereichen ermittelten Breiten indexe hoch, beispielsweise durch Multiplikation mit einem hohen Bewertungsfaktor, bewertet werden.
  • Beispielsweise kann g(x) gewählt werden zu
    Figure 00090001
    wobei insbesondere b = a gewählt wird. Somit werden durch die Funktion g(x) die innerhalb der Bereiche um die Sollbreitenindexe der Codeelemente liegenden, ermittelten Breitenindexe durch Multiplikation mit 0 ausgeblendet, während die dazwischenliegenden, ermittelten Breitenindexe mit dem Wert b, insbesondere 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 Bereiche um die Sollbreitenindexe der Codeelemente herum angeordnet sind, zu 1. Je kleiner die Anzahl der überstrichenen Elemente ist, deren ermittelten Breitenindexe 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
    Figure 00090002
    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 Breitenindexe des abgetasteten Elements zu dem sich daran anschließenden oder dem vorhergehenden Element verwendet. Weiterhin werden anstelle der Sollbreitenindexe eines Codeelements die Verhältnisse der Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes verwendet. Durch die Auswertung der Verhältnisse der Breitenindexe zweier aufeinanderfolgender, abgetasteter Elemente wird erreicht, daß sich die Maxima der ermittelten Häufigkeitsverteilung der Breitenindexe 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äufigkeitsverteilung angeordnet sind. So liegen die Maxima beispielsweise bei einem 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 Histogramms wird eine Unabhängigkeit von der Abtastgeschwindigkeit, dem Druckmaßstab und dem Leseabstand erreicht. Insbesondere wird bei einer solchen logarithmischen Bewertung der Breitenindexe der Abstand zwischen den Maxima 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 unterschiedlichen Breiten und damit unterschiedlichen Breitenindexen der ermittelten 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 angegeben.
  • Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnungen näher beschrieben; in diesen zeigen:
  • 1 die Häufigkeitsverteilung der ermittelten Breitenindexe eines Zweibreitencodes,
  • 2 die Häufigkeitsverteilung der ermittelten Breitenindexe eines Zweibreitencodes mit gegenüber der in 1 gezeigten Darstellung geänderten Breiten der Codeelemente,
  • 3 eine entsprechende Häufigkeitsverteilung der Breitenindexe bei der Abtastung von Streudruck,
  • 4 die Häufigkeitsverteilung der Breitenindexe eines Vierbreitencodes,
  • 5 die Häufigkeitsverteilung nach 2 mit zusätzlich dargestellten Bewertungsfunktionen,
  • 6 die Häufigkeitsverteilung nach 4 mit zusätzlich dargestellten Bewertungsfunktionen,
  • 7 eine Gütefunktion, die zur Bestimmung der Wahrscheinlichkeit, ob ein Strichcode vorliegt, verwendet wird,
  • 8 die Häufigkeitsverteilung nach 1 bei logarithmischer Bewertung der Abszissenwerte,
  • 9 die Häufigkeitsverteilung nach 2 bei logarithmischer Bewertung der Abszissenwerte und
  • 10 die Häufigkeitsverteilung der Verhältnis der Breitenindexe zweier aufeinanderfolgender Codeelemente eines Zweibreitencodes.
  • 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. Gemäß 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 Breitenindex 16 und drei Codeelemente mit dem Breitenindex 17 erkannt. Man erkennt anhand der Maxima 5 und 6 der Häufigkeitsverteilung 1 deutlich, daß alle ermittelten Breitenindexe x um die Sollbreitenindexe x1 und x2 herum angeordnet sind. Die Abweichungen der ermittelten Breitenindexe von den Sollbreitenindexen ist dabei durch Toleranzen im Druck bzw. der Abtastung begründet. Beispielsweise können die gedruckten Codeelemente aufgrund eines Verlaufens der Tinte eine Breite besitzen, die größer als die Sollbreite ist.
  • 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 breiteren Codeelementen wurden jeweils drei Breitenindexe zu neunundzwanzig, dreißig, einunddreißig und zweiunddreißig Taktimpulsen erkannt.
  • Auch aus 2 ist ersichtlich, daß die ermittelten Breitenindexe jeweils in Bereichen um die Sollbreitenindexe x1 und x2 der Codeelemente herum angeordnet sind.
  • Sowohl aus 1 als auch aus 2 ist ersichtlich, daß die Häufigkeitsverteilungen 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 3 dargestellte Histogramm, das die Häufigkeitsverteilung 3 der bei der Abtastung von Streudruck ermittelten Breitenindexe 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 Breitenindexen ermittelt, wodurch sich die in 3 dargestellte Häufigkeitsverteilung 3 ergibt.
  • Man erkennt deutlich den Unterschied zwischen den bei der Abtastung eines Strichcodes entstehenden Häufigkeitsverteilungen 1 und 2 mit jeweils zwei ausgeprägten Maxima gegenüber der mehr oder weniger gleichmäßig verlaufenden Häufigkeitsverteilung 3 bei der Abtastung von Streudruck gemäß 3.
  • Das in 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 1 und 2 wurde das Abtastfenster so gewählt, daß N = dreißig Codeelemente erfaßt und deren Breitenindexe bestimmt wurden.
  • Auch die Häufigkeitsverteilung 4 besitzt Maxima, die um die Sollbreitenindexe xi bis x4 herum angeordnet sind. Die Häufigkeitsverteilung 4 entspricht der statistischen Verteilung der einzelnen Codeelementbreiten in Vierbreitencodes, da die schmalen Elemente mit Breitenindex x1 am häufigsten und die breiten Codeelemente mit Breitenindex x4 am seltensten innerhalb eines Vierbreitencodes vorkommen.
  • Auch der Vergleich zwischen 4 und 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 Streudruck ermittelt wird.
  • In 5 ist neben der bereits in 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ßerhalb 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 werden, abgeschätzt werden, indem die Häufigkeitsverteilung mit den gewählten Bewertungsfunktionen gewichtet wird. Dazu werden beispielsweise für alle ermittelten Breitenindexe deren Häufigkeit mit dem entsprechenden Funktionswert der Bewertungsfunktion f(x) multipliziert und die jeweils berechneten Produkte ü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 Bereichen liegenden Breitenindexe von der Gesamtsumme der Häufigkeiten der innerhalb der Bereiche angeordneten Breitenindexe subtrahiert und das Ergebnis durch die Gesamtanzahl N der innerhalb des Abtastfensters abgetasteten Elemente 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 Strichcode 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 Bewertungsfunktion 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 5 dargestellt ist, so daß die Bereiche um die Sollbreitenindexe 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.
  • 6 zeigt die Häufigkeitsverteilung 4 für einen Vierbreitencode, wie sie bereits in 4 dargestellt wurde. Darüber hinaus ist in 6 sowohl die Bewertungsfunktion f(x) 11 und die dazu inverse Bewertungsfunktion g(x) 12 dargestellt.
  • Aus 6 ist ersichtlich, daß von den dreißig ermittelten Breitenindexen lediglich 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 Wahrscheinlichkeit 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 Abtastfensters kein Strichcode, sondern Streudruck abgetastet wurde. Dies ist dann der Fall, wenn der abgetastete Streudruck Elemente enthält, deren Breitenindexe im wesentlichen gleich den Breitenindexen der Codeelemente des zu erkennenden Strichcodes sind. Um die Wahrscheinlichkeit für die richtige Einordnung, ob eine Strichcode vorliegt oder nicht, zu erhöhen, kann eine Vielzahl von aufeinanderfolgenden Abtastfenstern ausgewertet werden, wobei ein Strichcode dann als erkannt gilt, wenn für mehrere aufeinanderfolgende Abtastfenster das berechnete Gütekriterium jeweils einen vorgegebenen Schwellenwert überschreitet.
  • Dies ist in 7 dargestellt. 7 zeigt eine Gütefunktion 13, die aus einer Vielzahl von miteinander verbundenen Werten 14 besteht. Die Werte 14 stellen jeweils berechnete Werte eines Gütekriteriums dar, die jeweils für aufeinanderfolgende Abtastfenster berechnet wurden. Weiterhin ist in 7 ein Schwellenwert S angegeben, bei dessen Überschreiten durch die Werte des jeweiligen Gütekriteriums 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ütekriteriums 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ütekriteriums 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 überstrichene 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 Bereiche 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 abgetastete Bereich 15 des Objekts wird als Strichcode klassifiziert und mit konventionellen Dekodierverfahren dekodiert.
  • Die in 8 dargestellte Häufigkeitsverteilung 1' stellt die Häufigkeitsverteilung 1 nach 1 dar, wobei die Breitenindexe x nicht linear, sondern logarithmisch dargestellt sind. Gleiches gilt für die Darstellung gemäß 9, die eine Häufigkeitsverteilung 2' zeigt, die der Häufigkeitsverteilung 2 nach 2 bei logarithmischer Darstellung der Breitenindexe x entspricht.
  • Im Gegensatz zu den nicht logarithmischen Darstellungen gemäß den 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 Strichcodes repräsentieren, unabhängig von der tatsächlichen Breite der Codeelemente. 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 Codeelemente bewirken, kompensiert. Solange das Druckverhältnis zweier unterschiedlicher, abgetasteter Strichcodes gleich gewählt wird, besitzen die Maxima der im logarithmischen Maßstab dargestellten Häufigkeitsverteilungen jeweils den gleichen Abstand zueinander.
  • Bei einer Überprüfung, ob die Maxima der Häufigkeitsverteilung von ermittelten Breitenindexen mit den Sollbreitenindexen des zu erkennenden Strichcodes korrespondieren, können somit bei einer logarithmischen Bewertung der Breitenindexe für unterschiedliche Druckbreiten, Abtastgeschwindigkeiten oder Abtastabstände jeweils die gleichen Bewertungsfunktion f(x) und g(x) verwendet werden. 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 Bewertungsfunktionen 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.
  • 10 zeigt den Verlauf einer Häufigkeitsverteilung 15 eines Zweibreitencodes, wenn anstelle der Breitenindexe jeweils die Verhältnisse der Breitenindexe zweier aufeinanderfolgender, abgetasteter Elemente zugrundegelegt werden. Bei einem 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 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ß Skalierungsfaktoren, die beispielsweise durch unterschiedliche Druckmaßstäbe des Strichcodes, unterschiedliche Leseabstände sowie unterschiedliche Abtastgeschwindigkeiten 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 logarithmischen 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 Darstellung der Fall ist.
  • Die Auswertung der abgetasteten Elemente erfolgt, wie zu den 5 und 6 beschrieben, durch Gewichtung der Häufigkeitsverteilung mit den Bewertungsfunktion f(x) und g(x).
  • Während bisher grundsätzlich davon ausgegangen wurde, daß Balken und Lükken eines Codeelements bzw. helle und dunkle Elemente eines abgetasteten Bereichs 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 beispielsweise dann vorteilhaft, wenn durch Druckverzerrungen, beispielsweise einem Verschmieren der Balken, diese generell breiter ausgebildet sind als entsprechende Lückenelemente. Durch die Druckverzerrungen würden die Breitenindexe für Balken und theoretisch gleich breite Lücken unterschiedlich bestimmt werden, so daß eine zusätzliche Verfälschung der ermittelten Häufigkeitsverteilung 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 diese Verfälschung nicht auf, so daß die jeweils separat ermittelte Häufigkeitsverteilung zu einem besseren Wert für das berechnete Gütekriterium führt.
  • Weiterhin ist es möglich, daß jeweils zwei aufeinanderfolgende Balken- und Lükkenelemente als ein Gesamtelement betrachtet werden, da sich auf diese Weise ebenfalls die durch Druckverzerrungen, z.B. Verschmieren der Balken, verursachten Fehler in den Breitenindexen der Balken und Lücken durch die Summenbildung aufheben. Dabei ist es zum einen möglich, die Gesamtelemente ohne Ü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ückenelement das erste Gesamtelement ergeben, woraufhin das nächste Gesamtelement aus dem gerade betrachteten Lückenelement und dem sich daran anschließenden Balkenelement zusammensetzt usw.
  • Da beim Zusammenfassen zweier aufeinanderfolgender Codeelemente (Balken und Lücken) bei einem Zweibreitencode Gesamtelemente mit drei unterschiedlichen Breiten (1+1, 1+2, 2+2 Grundbreiten) existieren, ist in diesem Fall eine Auswertung analog zu der Auswertung eines Dreibreitencodes erforderlich. Insbesondere besitzt die Häufigkeitsverteilung in diesem Fall wie bei einem Dreibreitencode 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 (21)

  1. Verfahren zum Erkennen und Lesen eines an einem Objekt vorgesehenen, aus einer Anzahl von Codeelementen bestehenden Strichcodes, bei dem 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, und 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, dadurch gekennzeichnet, dass jeweils die Häufigkeit des Auftretens der ermittelten Breitenindexe bestimmt wird, dass aus den ermittelten Häufigkeiten auf das Vorliegen eines Strichcodes geschlossen wird, wobei die Bestimmung der Breitenindexe jeweils für eine ein Abtastfenster definierende Anzahl aufeinander folgender Elemente erfolgt, deren Gesamtbreite kürzer oder gleich der Lauflänge des zu erkennenden Strichcodes ist, und die ermittelten Breitenindexe mit vorgegebenen Sollbreitenindexen der Codeelemente des zu erkennenden Strichcodes verglichen werden, dass zu den ermittelten Häufigkeiten der Breitenindexe eine Häufigkeitsverteilung bestimmt wird, dass als Kennzeichen für das Vorhandensein eines Strichcodes ein Gütekriterium G bestimmt wird, das von der Häufigkeitsverteilung und einer Bewertungsfunktion für die Häufigkeitsverteilung abhängig ist, und dass die abgetasteten Elemente als Codeelemente eines Strichcodes erkannt werden, wenn das Gütekriterium G einen vorgegebenen Schwellenwert erreicht bzw. – abhängig vom gewählten Gütekriterium – über- oder unterschreitet.
  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 Breitenindex jeweils die Anzahl der Taktsignale, die während des Abtasten eines Elements gezählt werden, verwendet wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine Dekodierung des abgetasteten Strichcodes erfolgt, wenn in mindestens zwei aufeinanderfolgenden Abtastfenstern das Vorhandensein eines Strichcodes erkannt wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die innerhalb des Abtastfensters liegenden Elemente als Codeelemente eines Strichcodes erkannt werden, wenn die Anzahl der ermittelten Breitenindexe, die jeweils in einem vorgegeben Bereich um die entsprechenden Sollbreitenindexe der Codeelemente liegen, deutlich größer ist als die Anzahl der ermittelten Breitenindexe, die außerhalb dieser Bereiche liegen.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Gütekriterium G gemäß folgender Formel bestimmt wird:
    Figure 00240001
    – 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 Elemente ist.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß das Gütekriterium G gemäß folgender Formel bestimmt wird:
    Figure 00250001
    – 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.
  9. Verfahren nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, daß die Bewertungsfunktion f(x) gewählt wird zu
    Figure 00250002
    wobei a eine beliebige Zahl ungleich Null, insbesondere a = 1, y, z beliebige Zahlen, n die Anzahl der unterschiedlichen Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes und xSi die unterschiedlichen Sollbreitenindexe der Codeelemente des zu erkennenden Strichcodes sind.
  10. Verfahren nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, daß g(x) gewählt wird zu
    Figure 00260001
  11. Verfahren nach den Ansprüchen 9 und 10, dadurch gekennzeichnet, daß a und b gleich groß gewählt werden.
  12. Verfahren nach einem der Ansprüche 6 bis 11, dadurch gekennzeichnet, daß das Gütekriterium G und insbesondere die Bewertungsfunktion f(x) und/oder das Komplement g(x) in einem Lernverfahren eingelernt werden.
  13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Dekodierung des erkannten Strichcodes mit üblichen Dekodierverfahren erfolgt.
  14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Häufigkeitsverteilung der ermittelten Breitenindexe insbesondere durch einen Tiefpaß geglättet wird.
  15. 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 Strichcodes verglichen werden.
  16. 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 anschließenden oder des vorhergehenden Elements verwendet wird.
  17. 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.
  18. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, daß anstelle der Breitenindexe der Logarithmus der Breitenindexe verwendet wird.
  19. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jeweils ein Gesamtbreitenindex für zwei aufeinanderfolgende, abgetastete Elemente bestimmt wird.
  20. Verfahren nach einem der Ansprüche 1 bis 18, dadurch gekennzeichnet, daß die Breitenindexe für helle und dunkle abgetastete Elemente getrennt bestimmt und/oder ausgewertet werden.
  21. Vorrichtung zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche zum Erkennen und Lesen eines an einem Objekt vorgesehenen, aus einer Anzahl von Codeelementen bestehenden Strichcodes gekennzeichnet durch einen Strichcodeleser zum Abtasten eines den Strichcode tragenden Objektes 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 einen Teil der während einer Abtastung abgetasteten Elemente jeweils ein für die Breite des Elements in Abtastrichtung repräsentativer Breitenindex 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 DE19724711A1 (de) 1998-12-17
DE19724711B4 true 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
US6494376B1 (en) * 1998-09-14 2002-12-17 Psc Scanning, Inc. Compensation for scan line variations in a bar code scanner 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
US6454168B1 (en) 1998-09-14 2002-09-24 Psc Scanning, Inc. Correlation and stitching techniques in a bar code scanning system
US6354503B1 (en) * 2000-06-21 2002-03-12 Rjs Systems International Bar code online scanner/verifier
EP1357505A4 (de) * 2001-01-26 2006-02-08 Fujitsu Ltd Informationsleseverfahren und einrichtung, signalerfassungsverfahren für eine informationsleseeinrichtung, bandbegrenzungsverfahren dafür, zeitsteuerungspunktamplitudenextraktionsverfahren dafür und signalverarbeitungsverfahren dafür, lesesignalverarbeitungseinheit und lese s
US6478224B1 (en) 2001-03-02 2002-11-12 Psc Scanning, Inc. Symbology-independent method and apparatus for identifying potential bar code data

Citations (10)

* 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
EP0353842A2 (de) * 1988-08-03 1990-02-07 Image Business Systems Corp. Strichkode-Abtasttechnik
US5270525A (en) * 1990-01-08 1993-12-14 Nippondenso Co., Ltd. Non-decoded type bar code reading apparatus
US5326961A (en) * 1992-04-24 1994-07-05 Nippondenso Co., Ltd. Bar code reader with comparison of bar widths and signal transitions
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
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
DE19534009A1 (de) * 1995-09-14 1997-03-20 Commodas Gmbh Vorrichtung zum Lesen von sehr schnell an der Lesevorrichtung vorbeibewegten Barcodes

Patent Citations (10)

* 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
EP0353842A2 (de) * 1988-08-03 1990-02-07 Image Business Systems Corp. Strichkode-Abtasttechnik
US5561283A (en) * 1988-10-21 1996-10-01 Symbol Technologies, Inc. Laser scanning system and scanning method for reading bar codes
US5270525A (en) * 1990-01-08 1993-12-14 Nippondenso Co., Ltd. Non-decoded type bar code reading apparatus
US5326961A (en) * 1992-04-24 1994-07-05 Nippondenso Co., Ltd. Bar code reader with comparison of bar widths and signal transitions
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
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
DE19534009A1 (de) * 1995-09-14 1997-03-20 Commodas Gmbh Vorrichtung zum Lesen von sehr schnell an der Lesevorrichtung vorbeibewegten Barcodes

Also Published As

Publication number Publication date
US6039253A (en) 2000-03-21
DE19724711A1 (de) 1998-12-17

Similar Documents

Publication Publication Date Title
DE69521040T2 (de) Verfahren und vorrichtung zum dekodieren von balkencodebildern mittels informationen aus vorhergehenden abtastzeilen
DE69506238T2 (de) Verfahren und vorrichtung zum dekodieren von balkenkodebildern mittels mehrordnungenvektoren
DE3780955T2 (de) Verfahren zur automatischen spitzenerkennung im graustufenhistogramm eines digitalen bildes.
DE69230631T2 (de) Verfahren zum Vergleichen von Wortgestalten
DE2831582C2 (de) Verfahren zur Identifizierung einer Person und Vorrichtung zur Durchführung des Verfahrens
DE3875451T2 (de) Verfahren zum optischen lesen von strichcodes.
DE4116054C2 (de) Vorrichtung zum Wahrnehmen einer Teilchenaggregation
DE69709165T2 (de) Vorrichtung und verfahren zur dekodierung von streifencode-symbolen durch quotenanalyse der modulformate
DE10025332A1 (de) Verfahren zum Lesen eines zweidimensionalen Barcodes
DE2816333A1 (de) Verfahren und anordnung zum lesen eines strichcodes
DE3322443A1 (de) Mustererkennungsvorrichtung
EP2206075B1 (de) Detektor und verfahren zum erkennen einer fahrspurbegrenzung
DE69013597T2 (de) Strichkode-Detektionsverfahren.
EP1897067B1 (de) Verfahren und vorrichtung zur erkennung einer münze unter verwendung ihres prägebildes
DE19724711B4 (de) Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes
DE3519465A1 (de) Verfahren zum beurteilen der position eines filmeinzelbildes
EP1111332B1 (de) Verfahren zur Ermittlung der Position eines Lichtspots auf einer Fotodioden-Zeile
DE3026055C2 (de) Schaltungsanordnung zur maschinellen Zeichererkennung
DE69602735T2 (de) Verfahren und gerät zur dekodierung van streifenkodes
DE69504140T2 (de) Verfahren zum Detektieren der Flankenrichtung in einem Fernsehbild mit Zeilensprungverfahren
DE3215673A1 (de) Gestaltabtastvorrichtung
WO2002023492A2 (de) Verfahren zur klassifizierung von dokumenten
EP0830014B1 (de) Erkennung von schräglaufenden Kratzern in Videosignalen
DE2820097C3 (de) Verfahren zur Bestimmung der Häufigkeit von Garnfehlern
DE2026033C3 (de) Rasterverfahren zur Klassifizierung von Schriftzeichen

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