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 StrichcodesInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1486—Setting the threshold-width for bar codes to be decoded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
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.
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.
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.
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.
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)
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)
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)
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 |
-
1997
- 1997-06-11 DE DE19724711A patent/DE19724711B4/de not_active Expired - Fee Related
-
1998
- 1998-06-10 US US09/090,031 patent/US6039253A/en not_active Expired - Lifetime
Patent Citations (6)
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 |