-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft ein Verfahren und ein System zum Verifizieren
von Übergängen zwischen
kontrastierenden Elementen wie Strichcodestrichen und Zwischenräumen.
-
Hintergrund
der Erfindung
-
Die
Erkennung von Übergängen zwischen
Strichcodeelementen, wie Striche und Zwischenräume, ist ein wichtiger Teil
zum Lesen von Strichcodes. Idealerweise würde der Übergang fehlerfrei und abrupt
und einfach zu ermitteln sein. Realistisch ist der Übergang
in einem Graubereich und seine Position kritisch, weil von ihr die
Ermittlung der Breite der Strichcodeelemente, der Striche und der
Zwischenräume
abhängt.
In einem typischen Strichcode mit schwarzen Strichen und weißen Zwischenräumen würden die Übergänge nie
in den schwarzen oder in den weißen Werten auftreten, die deutlich
die Striche und die Zwischenräume
darstellen, sondern in den grauen Bereichen zwischen ihnen. Aber
häufig
treten anscheinende Übergänge in jenen schwarzen
und weißen
Werten auf, die, wenn sie als Übergänge ermittelt
werden, falsche Messwerte der Breiten und der Anzahl der dazugehörigen Striche
und den Zwischenräumen
geben. Eine Möglichkeit
ist, einfach einen Schwellenwert im Grauwertprofil einzustellen, über dem
alles als Weiß erachtet
wird und unterhalb dessen alles als Schwarz gilt. Dies funktioniert, wenn
das Strichcodesignal scharf ist und die Striche und die Zwischenräume groß genug
sind, damit ein hoher Wert von Schwarz oder von Weiß erreicht
wird. Das heißt,
dass die grauen Übergangsbereiche
klein sind verglichen mit dem vollständigen Schwarz oder Weiß der Striche oder
der Zwischenräume
und der Strich oder Zwischenraum erreicht, zumindest in seinem mittleren
Teil, einen Weiß- oder Schwarzwert,
der über
dem Schwellenwert liegt. Jedoch, wenn die Striche und die Zwischenräume klein
sind, schrumpft der mittlere Teil und die grauen Übergangsbereiche
dringen in den Strich oder den Zwischenraum ein, so dass er überwiegend
als Grau erscheint, obwohl er eigentlich schwarz oder weiß ist und nicht
die Schwelle übersteigt
und so nicht richtig gelesen wird. Um dies zu überwinden, versucht man einen gleitenden
Schwellenwert zu benutzen, aber dies kann auch Fehler produzieren.
-
Die
US 5,979,763 offenbart einen
Leser für
Sub-Pixeldaten, der hohe und niedrige Grauwertbereiche nutzt, um
die falschen Übergangssegmente
anzuzeigen, die durch Rauschen produziert werden. Ein Grauwertgradientenhistogramm
wird genutzt, um festzustellen, ob Sub-Pixelverarbeitung notwendig
wird und um die Bandbreite des Rauschens festzustellen. Eine dementsprechende
Analyse des Ausmaßes
des Rauschens oder von störenden
Effekten wird im Verhältnis
zum Ausmaß repräsentativer
Signalgradienten für
einen Grauwert ausgewertet, der repräsentativ für einen oder mehrere erste
Abtastlinien ist.
-
US
2002/023958 offenbart einen Strichcodeleser entsprechend dem Oberbegriff
der Ansprüche
1 und 7. Diese beschreibt die Verwendung von unterschiedlichen Bewertungsverfahren
entsprechend dem Grad der Unschärfe
für das
Finden der richtigen Positionen der Strich- und Zwischenraumübergänge. Der
Grad der Unschärfe
wird von einer Analyse eines Randhöhenhistogramms und Eingliedern
der Modalen des Histogramms aus drei unterschiedlichen Modalen heraus
festgestellt.
-
-
Kurze Zusammenfassung
der Erfindung
-
Es
ist deshalb Aufgabe der Erfindung, ein verbessertes Verfahren und
ein System zum Überprüfen der kontrastierenden
Elemente, wie Strichcodeelemente, zur Verfügung zu stellen.
-
Es
ist eine weitere Aufgabe dieser Erfindung, solch ein verbessertes
Verfahren und ein System bereitzustellen, welches Rauschen verringert
und genauere Messwerte der sich abhebenden Elemente wie Strichcodeelemente
zur Verfügung
stellt.
-
Es
ist eine weitere Aufgabe dieser Erfindung, solch ein verbessertes
Verfahren und ein System bereitzustellen, zum Überprüfen der Messwerte der sich
abhebenden Elemente wie Strichcodeelemente, indem es die Zuverlässigkeit
der Übergangserkennung
erhöht.
-
Die
Erfindung resultiert aus der Erkenntnis, dass ein präziseres
und schnelleres System und Verfahren zum Strichcodelesen erzielt
werden kann, indem man die Werte, die vom Grauwertprofil der Abtastung
des Strichcodes abgeleitet werden, sortiert in Strichwerte, Zwischenraumwerte
und Arbeitszonenwerte, in denen Übergänge auftreten
und dann nur Übergänge bestätigt, die
in der Arbeitszone auftreten und diejenigen verwirft, die anderweitig
auftreten, was ein Verwerfen von Strichwerten ergibt, die in der
Zwischenraumzone auftreten und andererseits werden Zwischenraumwerte
verworfen, die in der Strichzone auftreten.
-
Die
Erfindung wird durch die unabhängigen
Ansprüche
1 und 7 definiert. Bevorzugte Ausführungsformen sind Inhalte der
abhängigen
Ansprüche.
-
In
einer Ausführungsform
umfasst eine Methode der Verifikation der Strichcodelesungen das
Erzeugen eines Profils eines Strichcodes und Identifizierung einer
Strichzone von Werten, die Strichen entsprechen, eine Zwischenraumzone
von Werten, die Zwischenräumen
entsprechen und eine Arbeitszone von Werten, die Übergänge zwischen
den Strichen und den Zwischenräumen
repräsentieren,
wobei das Identifizieren der Strichzone, der Raumzone und der Arbeitszone
das Erzeugen eines Histogramms der Intensitätswertverteilung von besagtem
Profil und das Einstufen von Strichzonenwerten, Zwischenraumzonenwerten
und Arbeitszonenwerten entsprechend dem Histogramm umfasst. Das
Verfahren umfasst auch das Ermitteln einer Änderung im Strichcodeprofil,
die einen anscheinenden Übergang
andeutet und das Bestätigen
des anscheinenden Überganges
als wahren Übergang,
wenn dieser in der Arbeitszone auftritt und das Verwerfen, wenn
dieser in der Strich- oder Zwischenraumzone auftritt.
-
In
einer bevorzugten Ausführungsform
kann das Verfahren weiter umfassen, das Detektieren eines Teils
eines Strichcodeprofils, das einen Strich anzeigt und das Verwerfen
desselben als Strich, wenn er in der Zwischenraumzone auftritt und
weiter das Detektieren eines Teils eines Strichcodeprofils, welcher
auf einen Zwischenraum hinweist und Verwerfen desselben als Zwischenraum,
wenn dieser in der Strichzone auftritt. Das Profil kann ein Grauwertprofil
sein. Das Ermitteln einer Änderung
im Strichcodeprofil, das auf einen anscheinenden Übergang
hinweist, kann erste und zweite aufeinanderfolgende Steigungsumkehrungen
umfassen und anscheinende Übergänge mittig
zwischen den Steigungsumkehrungen definieren. Das Identifizieren einer
Strichzone, Zwischenraumzone und Arbeitszone kann das Aufstellen
von Bereichsgrenzen der Striche und der Zwischenräume und
das Definieren der Arbeitszone als Teil dieses Bereiches umfassen.
-
In
einer Ausführungsform
umfasst ein System für
das Verifizieren von Strichcodelesungen, Mittel zum Erzeugen eines
Profils eines Strichcodes und Mittel zum Identifizieren einer Strichzone
von Werten, die Striche darstellen, einer Zwischenraumzone von Werten,
die Zwischenräume
darstellen und einer Arbeitszone von Werten, die die Übergänge zwischen
den Striche und den Zwischenräumen
darstellen. Die Mittel für
das Identifizieren einer Strichzone, Zwischenraumzone und Arbeitszone
umfassen Mittel zum Erzeugen einer Histogrammverteilung von den
Profilwerten und das Identifizieren von Strichzonenwerten, von Zwischenraumzonenwerten
und von Arbeitsbereichzonenwerten, die der Histogrammverteilung
entsprechen. Die Mittel für
das Identifizieren einer Strichzone, Zwischenraumzone und Arbeitszone
können
Mittel für
das Erstellen der Grenzen der Bereiche der Strich- und Zwischenraumwerte
und das Definieren der Arbeitszone als Teil dieses Bereiches umfassen.
-
Es
gibt Mittel für
das Ermitteln einer Änderung
im Strichcodeprofil, das auf einen anscheinenden Übergang
hinweist und Mittel zum Bestätigen
des anscheinenden Überganges
als zutreffenden Übergang,
wenn dieser in der Arbeitszone ist und zum Verwerfen wenn dieser
in der Strich- oder Zwischenraumzone auftritt.
-
In
einer bevorzugten Ausführungsform
können
die Mittel für
das Detektieren eines Teils des Strichcodeprofils einen Teil eines
Strichcodeprofils detektieren, der auf einen Strich hinweist und
diesen als Strich verwerfen, wenn dieser in der Zwischenraumzone
auftritt und können
einen Teil eines Strichcodeprofils ermitteln, der auf einen Zwischenraum
hinweist und diesen als Zwischenraum verwerfen, wenn dieser in der
Strichzone auftritt. Die Mittel zum Erzeugen eines Profils können ein
Grauwertprofil erzeugen.
-
Die
Mittel zum Detektieren einer Änderung
im Strichcodeprofil, die auf einen anscheinenden Übergang hinweist,
können
Mittel zum Abfragen erster und zweiter Steigungsumkehrungen und
Mittel für
das Definieren des anscheinenden Übergangs mittig zwischen den
Steigungsumkehrungen umfassen.
-
Kurze Beschreibung
der Zeichnungen
-
Andere
Ziele, Eigenschaften und Vorteile sind für den Fachmann aus der folgenden
Beschreibung einer bevorzugten Ausführungsform und der zugehörigen Zeichnung
ersichtlich, in welcher:
-
1 ein
schematisches Blockdiagramm eines Strichcodelesesystems entsprechend
dieser Erfindung ist;
-
2 eine
graphische Ansicht ist, welche die Abtastung eines Strichcodes und
des entsprechenden idealisierten Grauwertprofils zeigt;
-
3 eine
Abbildung eines Grauwertprofils des Strichcodes ist mit einem einigen
Schwellenwert nach dem Stand der Technik;
-
4 ist
ein schematisches Diagramm eines abgetasteten Strichcodes, des Histogramms
seines Grauwertprofils, der Striche, Zwischenräume und Arbeitszonen, die daraus
abgeleitet wurden und eines wiederhergestellten Segments des Codes
entsprechend dieser Erfindung;
-
5 ist
eine Abbildung eines Grauwertprofils einer Strichcodeabtastung und
daraus abgeleiteter Strich-, Zwischenraum- und Arbeitszone, wobei
eine andere Technik entsprechend dieser Erfindung angewendet wurde;
-
6 ist
ein Flussdiagramm der ersten Schritte einer Ausführungsform des Verfahrens nach
dieser Erfindung; und
-
7 ist
ein Flussdiagramm der Schritte zur Bestimmung der Übergangspunkte
entsprechend dieser Erfindung.
-
Offenbarung
des bevorzugten Ausführungsbeispiels
-
Neben
dem nachfolgend offenbarten bevorzugten Ausführungsbeispiel oder Ausführungsbeispielen ist
diese Erfindung geeignet für
andere Ausführungsformen
und um auf verschiedenen Wegen verwendet oder ausgeführt zu werden.
Daher ist es verständlich,
dass die Erfindung in ihrer Anwendung auf die Konstruktionsdetails
und die Anordnungen der Bauteile, wie dies in der folgenden Beschreibung
oder in den Zeichnungen dargestellt ist, nicht limitiert ist.
-
In 1 ist
ein Strichcodeerkennungssystem 10 einschließlich Kamera 12 mit
Optiken 14, Frame Grabber 16, wahlfreier Zugriffsspeicher
(RAM), Recheneinheit 20, und Dekodierer 22 gezeigt.
Pakete, wie beispielsweise Boxen 24, 26 und 28,
werden entlang eines Förderbands 30 in
der Richtung des Pfeils 32 bewegt, diese stoßen auf
ein lineares Sichtfeld 34 einer Linie CCD Sensoren, zum
Beispiel in der Kamera 12. Jedes Paket, wie durch Box 28 illustriert,
umfasst auf seiner Oberseite 45 einen Strichcodeaufkleber 40.
Wenn die Box 28 sich in die Richtung von Pfeil 32 mit
dem Förderband
durch das lineare Gesichtsfeld 34 bewegt, wird ein zweidimensionales
Bild aufgebaut, welches durch den Frame Grabber 16 von
der Kamera 12 erfasst wird. Das Bild wird in RAM 18 zwischengespeichert,
von dem die Pixeldaten durch den Mikroprozessor 20 verarbeitet
werden, der den Strichcode 40 erkennen und lokalisieren
muss, seine Lage bestimmen muss, die Pixeldaten, die in den Strichcodestrichen
und Zwischenräumen
enthalten sind, interpretieren muss und es dann, in geeigneter Form
dem Decoder 22 zur Verfügung
stellen muss.
-
Diese
Erfindung geht davon aus, dass das System den Ort und die Ausrichtung
des Strichcodes unter Verwendung von Mitteln des Standes der Technik
erkennt und befasst sich vorwiegend mit der Erhaltung einer schnelleren,
präziseren
Messung der Strichcodeelemente. Das Verfahren dieser Erfindung wird
typischerweise von einem Mikroprozessor 20 ausgeführt und
das erfindungsgemäße System
ist in dem Mikroprozessor 20 unter Verwendung von RAM 18 implementiert
und mit dem Softwareprogramm wie hier beschrieben konfiguriert.
-
Strichcode 40 umfasst
eine Mehrzahl von Strichcodeelementen und zwar schwarze Striche 44 und weiße Zwischenräume 46.
In diesem bestimmten Strichcode 40 können Striche 44 zwei
Breiten, weite oder schmale, haben. Und die Zwischenräume 46 können zwei
Breiten, weite und schmale, haben. Dieses ist jedoch nicht eine
notwendige Beschränkung
des Strichcodes oder dieser Erfindung. Der Strichcode kann jede mögliche Kombination
der elementaren Breiten haben. Weiter brauchen die sich abhebenden
Elemente, nicht schwarz und weiß zu
sein und brauchen nicht unbedingt eine Art Strichcode sein. Sie
könnten
Rot und Blau gefärbt
werden. Sie könnten
retroreflektierend und nicht retroreflektierend sein. Sie könnten magnetisch
und antimagnetisch sein. Zusätzlich
sind die kontrastierenden Elemente nicht auf genau zwei begrenzt.
Zum Beispiel könnten
diese schwarz, weiß und
grau, oder schwarz, weiß und
zwei Farbtöne
von Grau oder Rot sein, Blau und Grün, oder Rot, Blau, Grün und Gelb.
Unter Strichcode werden alle Arten von Strichcodes verstanden, einschließlich z.B.
zweidimensionalen und gestapelten wie auch die eindimensionalen
Typen in dem Ausführungsbeispiel.
Weiter ist die Erfindung nicht auf Strichcodes begrenzt, sondern
findet Anwendung auf eine beliebige Gruppe von kontrastierenden
Elementen.
-
Eine
Abtastung von Strichcode 40 entlang Abtastlinie 50 (2)
produziert idealerweise ein Profil 52 mit sauberen, scharten Übergängen und
leicht unterscheidbaren weißen 56 (225)
und schwarzen 58 (0) Werten, resultierend in einer zuverlässigen Linie
der Codeausgabe 60. Eine einfache Schwelle 62,
die auf halber Höhe
zwischen den weißen 56 und
den schwarzen 58 Werten ist, würde zum Trennen der weißen Werte 56, die
Zwischenräume 46 darstellen,
von den schwarzen Werten 58, die Striche 44 darstellen,
dienen. Jedoch ist dies nur eine idealisierte Darstellung. In der
realen Welt erscheint das Profil eher wie durch 52a in 3 gezeigt,
in der die Daten 70 auf der X-Achse entlang dem Abtastweg
und auf der Y-Achse entsprechend dem Graustufenwert zwischen schwarzem
0 und weißem
255 gedruckt sind. Eine negative Steigung 72, die von einer
positiven Steigung 74 gefolgt wird, identifiziert Bereich 76 als
Strich oder Schwarz, während
eine positive Steigung 74 gefolgt von negativer Steigung 78 den
Zwischenraum 80 als Zwischenraum erkennt. Eine negative
Steigung 78 gefolgt von einer positiven Steigung 82 zeigt
Bereich 84 als schwarzen Strich an. Die positive Steigung 82,
die von der negativen Steigung 86 gefolgt wird, zeigt an,
dass Bereich 88 ein weißer Zwischenraum ist. Eine
negative Steigung 86, die von einer positiven Steigung 90 gefolgt
wird, zeigt an, dass Bereich 92 ein schwarzer Strich ist.
Die positive Steigung 90, die von negativer Steigung 94 gefolgt
wird zeigt an, dass Bereich 96 ein weißer Zwischenraum ist, und so
weiter. So, dass der Code 60a ein schwarzer Strich 76', ein weißer Zwischenraum 80', ein schwarzer
Strich 84',
ein weißer
Zwischenraum 88',
ein schwarzer Strich 92' und
ein weißer
Zwischenraum 96' und
so weiter entlang Profil 52a sein sollte.
-
Jedoch,
wenn eine einzelne Schwelle 62a bei 127.5 auf halbem Wege
zwischen 0 und 255 eingestellt wird, sieht man, dass keiner der
schwarzen Striche, 76', 84' oder 92' differenziert
werden kann: stattdessen wird nur ein großer schwarzer Strich 100 ermittelt
und schwarze Striche 76', 84', 92' zusammen mit
weißen Zwischenräumen 86', 88' gehen verloren.
Tatsächlich
sind die einzigen weißen
Zwischenräume,
die gesehen werden 96, 102 und 104: Dabei
wurden nur weiße
Zwischenräume 96', 102' und 104' unter den falsch
gelesenen schwarzen Strichen 106', 108' und 110' identifiziert. Eine veränderbare
Schwelle 81, die an den mittigen Punkten 83, 85, 87, 89, 91 zwischen
aufeinanderfolgenden Spitzen und Senken gesetzt ist, gibt ein weniger ungenaues
Resultat und ist jedoch noch in vielen Fällen unzulänglich.
-
In Übereinstimmung
mit dieser Erfindung wird ein Histogramm der Intensitätswertverteilung 120 (4)
vom Graustufenprofil 52b abgeleitet, das aus der Abtastung
von Strichcode 40 resultiert. Man sieht, dass die Intensitätswertverteilung
bei ungefähr 210 für den weißen Raumbereich 122,
bei ungefähr 72 für den schwarzen
Strichbereich 124, und bei ungefähr 150 für den grauen Übergangsbereich 126 Spitzen
hat. Ebenso kann man aus dem Histogramm sehen, dass die Strichzone
von 0-91 ist, die graue Zone von 92-203 und die Zwischenraumzone
von 203-255 ist. Die drei Zonen sind von den Histogrammdaten abgeleitet
und dann ist die Aufgabe, diese Zonen am Grauwertprofil 52b anzuwenden
und nur jene Übergänge anzunehmen,
die in Arbeitszone 128 auftreten, während andere verworfen werden.
Zusätzlich
werden alle anscheinenden schwarzen Striche, die in einer weißen Zwischenraumzone 132 auftreten,
sowie weiße
Zwischenräume,
die in der schwarzen Strichzone 130 auftreten, verworfen.
Zum Beispiel würde
die negativ gehende Steigung 140, gefolgt von der positiv
gehenden Steigung 142, anzeigen, dass die Pixel im Bereich
von 144 einen schwarzen Strich anzeigen, aber da Übergänge 140 und 142 nicht
in Arbeitszone 128 stattfanden und da ein weiterer schwarzer
Pixelbereich 144 in einer weißen Zwischenraumzone 132 sein
würde,
werden diese Daten richtigerweise verworfen. Ebenso wegen einer
positiv gehenden Steigung 146 und einer negativ gehenden
Steigung 148, konnte der Pixelbereich 150 als
weißer
Zwischenraum wahrgenommen werden.
-
Jedoch
weil der weiße
Zwischenraum in einer schwarzen Strichzone 130 auftritt
und weil die positiv gehende Übergangssteigung 146 und
die negativ gehende Steigung 148 nicht in Arbeitszone 128 auftreten, werden
diese Daten richtigerweise verworfen.
-
Eine
Analyse der Intensitätswertverteilung
(Histogramm) ist nur ein Weg zum Herleiten der Strichzone, der Arbeitszone
und der Zwischenraumzone.
-
Zum
Beispiel können
in einer anderen Annäherung
maximale Pegel
160 (
5) und minimale
Pegel
162 vom Grauwertprofil festgestellt werden und dann
wie folgt errechnet werden:
-
Und
die untere Grenze kann wie folgt errechnet werden:
-
Auf
diese Art werden die Zonen 128, 130 und 132 errechnet,
ohne die Grauwertverteilung oder ein Histogramm zu verwenden.
-
In
Betrieb werden Übergänge ermittelt,
indem man Steigungsumkehrungen überwacht
und einen Übergang
identifiziert, welcher auf halbem Wege zwischen aufeinanderfolgenden
Steigungsumkehrungen auftritt. Beispielsweise erfährt Strichcodeprofil 52b (5)
eine Änderung
in der Steigung an Punkt 164, die zum Beispiel als eine Änderung
um vier oder größer definiert
ist. Dies identifiziert negativ gehende Steigung 166. An
Punkt 168, wenn die negativ gehende Steigung 166 sich
umkehrt und zur positiv gehenden Steigung 170 wechselt,
sind dort zwei aufeinanderfolgende Steigungsumkehrungen, eine bei 164 und
eine bei 168. Folglich wird ein Übergang definiert, der auf
halbem Wege zwischen den zwei bei 172 auftritt. Da Übergang 172 innerhalb
der Arbeitszone 128 ist, wird er als gültiger Übergang bestätigt. An
Punkt 173 wird die Steigung 170 umgekehrt und
zur negativ gehenden Steigung 174.
-
Jetzt
kann ein anderer Übergang 176 zwischen
Punkt 173 von einer Steigungsumkehrung auf halbem Wege
identifiziert werden und Punkt 168 zeigt auf die vorhergehende
Steigungsumkehrung. Wieder liegt Übergang 176 innerhalb
der Arbeitszone 128, also gilt er als gültig. Die Punkte zwischen 172 und 176 können als schwarzer
Strich 169 identifiziert werden. Negative Steigung 174 hebt
bei 178 die positiv gehende Steigung 180 auf.
Ein anderer Übergang
kann jetzt am mittleren Punkt zwischen 178 und 173 als Übergang 182 definiert werden.
Da Übergangspunkt 182 in
der Arbeitszone 128 liegt, gilt er als ein gültiger Übergang:
die Punkte zwischen 176 und 182 können als
weißer
Zwischenraum 183 identifiziert werden. Dies geht so weiter:
Wenn die positive Steigung 180 Punkt 184 erreicht,
kehrt diese um zu einer negativen Steigung 186 und der
Mittelpunkt zwischen Punkt 184 und 178 kann als Übergang 188 identifiziert
werden. Jetzt, da Übergangspunkt 188 innerhalb
des Arbeitszone liegt, gilt er als gültig, die Punkte zwischen Übergangspunkten 182 und 188 gelten
als schwarze Striche 185.
-
Diese
Erfindung bestätigt
nicht nur gültige Übergänge zwischen
weißen
Zwischenräumen
und schwarzen Strichen, sondern verwirft auch die, die unzulässig sind.
Beispielsweise an Punkt 190, kehrt die Steigung um und
die negative Steigung 192 fängt an. An Punkt 194 kehrt
die Steigung um und die positive Steigung 196 tritt auf.
An Punkt 198 kehrt die positive Steigung 196 in
die negative Steigung 200 um. An Punkt 202 kehrt
die negative Steigung 200 um und wird zur positiven Steigung 204;
an Punkt 207, kehrt die positive Steigung 204 in
die negative Steigung 209 um. Ohne diese Erfindung würde ein Übergang
gefunden in der Mitte zwischen Punkt 190 und Punkt 194, Übergang 193,
ein zweiter Übergang
mittig zwischen Punkten 194 und 198, Übergang 206,
ein dritter Übergang
mittig zwischen Punkten 198 und 202, Übergänge 208,
und ein weiterer Übergang
mittig zwischen Punkten 202 und 207, Übergang 205.
Die Punkte zwischen Übergängen 193 und 206 würden als
ein schwarzer Strich erachtet werden, die Punkte zwischen Übergängen 206 und 208 würden als weiße Zwischenräume gelten
und die Punkte zwischen Übergängen 208 und 205 würden als
schwarzer Strich gelten. Jedoch sind der Übergang 206 und der Übergang 208 beide
außerhalb
der Arbeitszone 128 und tatsächlich in schwarzer Strichzone 130.
Keine dieser Übergänge sind
folglich annehmbar und anstatt ein fehlerhaftes Schwarz, Weiß, Schwarz
zu lesen, wie es durch Signalstörungen,
eine Verschmutzung des Weiß oder durch
eine in hohem Grade spiegelnde Region bei 198 verursacht
sein könnte,
definiert das System den realen Übergang 203 als
den mittleren Punkt zwischen Punkt 190 und Punkt 202.
Folglich wird die gesamte Abweichung zwischen Übergangspunkten 203 und 205 als
schwarzer Strich 210 gesehen. Folglich nimmt das System
nur Übergänge 203 und 205 an,
welche richtigerweise nur den einzelnen schwarzen Strich 210 erkennt.
-
Systemstörungen oder
eine schwarze Verschmutzung könnten
ein ähnliches
Erscheinen in der weißen
Zwischenraumzone 132 verursachen, z. B. wo die positiv
gehende Steigung 212 an Punkt 214 zu negativer
Steigung 216 umkehrt, die wiederum an Punkt 218 zu
positiver Steigung 220 umkehrt und sich wieder an dem Punkt 222 zu
negativer Steigung 224 umkehrt. Hier erscheint es, dass Übergangspunkte 226 und 228 die Ränder eines
schwarzen Striches definieren, aber tatsächlich erscheinen diese nicht,
da Übergang 226 und Übergang 228 außerhalb
der Arbeitszone und in der weißen
Zwischenraumzone 132 sind. Diese werden folglich als unzulässige Übergänge verworfen
und definieren nicht einen schwarzen Strich innerhalb eines weißen Zwischenraumes,
und das System nimmt einfach nur die Übergänge 230 und 232 an,
welches das lokale Profil als einzelnen weißen Zwischenraum 234 bestätigt.
-
Die
Schritte für
die Bestimmung der Übergangspunkte
umfassen das Finden der folgenden Position im Profil 300 (7)
und dann wird die Steigungsrichtung 302 erhalten. Zunächst wird
festgestellt ob die Richtung sich von der vorhergehenden Richtung 304 unterscheidet.
Wenn dies nicht der Fall ist, geht das System zu Schritt 300 zurück. Wenn
dies der Fall ist, wird der Übergangspunkt
am Mittelpunkt zwischen dem gegenwärtigen Wert und dem Wert der
Position der vorhergehenden Steigungsumkehrung 306 eingestellt,
die gespeichert worden ist. Danach wird die Abfrage gebildet, ob
der Übergangspunkt
in Arbeitszone 308 liegt. Wenn dies nicht der Fall ist,
geht das System zu Schritt 300 zurück. Wenn dies so ist, wird
die Position der Steigungsumkehrungen gespeichert 310 und
das System geht zum nächsten
Punkt im Profil, Schritt 300.
-
In
einer Ausführungsform
umfasst das Verfahren dieser Erfindung das Aufnehmen des Strichcodebildes 250 (6),
das Erzeugen seines Grauwertprofils 252 und das Definieren
der Arbeitszone 254. Dann, indem man angrenzende Werte
des Profils überprüft, wird
die Steigung zwischen ihnen festgestellt. Wenn die Änderung
in der Steigung größer als
etwa Wert x ist, z. B. 4, wird diese als Steigungsumkehnung 250 identifiziert.
Der Wert von 4 wurde gewählt,
weil er die besten Resultate aus einer Datenbank von Mustern ergab.
Das Ziel war, den Mindestwert von x zu finden, der alle Ränder in
der Testdatenbank finden würde,
ohne falsche zu produzieren. Diese Zahl funktionierte gut für das vorliegende
System (Kamera, Beleuchtung, etc.). Im nächsten Schritt 260,
wenn die momentane Steigung positiv ist, sucht es nach einer negativen,
wenn diese negativ ist, sucht es nach einer positiven. Das System
sucht dann nach einer Steigungsumkehrung in Schritt 262 und kennzeichnet
den Mittelpunkt zwischen der gegenwärtigen Steigungsumkehrung und
der letzten Steigungsumkehrung als Übergang. In Schritt 264,
wenn der Übergang
in der Arbeitszone ist, wird dieser als gültig bestätigt, wenn nicht, wird dieser
verworfen.
-
Während es
im spezifischen Beispiel zwei Datenzonen gibt, Strich und Zwischenraum
und eine Arbeitszone, ist dies nicht eine notwendige Beschränkung der
Erfindung. Mit drei Datenzonen könnte
es drei Arbeitszonen geben, mit vier Datenzonen könnte es
vier Arbeitszonen geben und so weiter.
-
Die
bevorzugte Methode entsprechend dieser Erfindung wird durch den
Mikroprozessor 20 durchgeführt, der durch Software konfiguriert
wird, um jeden der Schritte entsprechend der Erfindung zu bewirken.
Das bevorzugte System entsprechend dieser Erfindung umfasst Mittel
in Form von Softwareprogrammen, die durch die konfigurierte Software
im Mikroprozessor entsprechend 6 und 7 ausgeführt wird.
-
Obgleich
spezifische Merkmale der Erfindung in einigen Zeichnungen und nicht
in anderen gezeigt werden, geschah dies nur der Einfachheit wegen,
wobei jedes Merkmal mit beliebigen oder allen anderen Merkmalen
in Übereinstimmung
mit der Erfindung kombiniert werden kann. Die Wörter "einschließlich", "enthaltend", "umfassend", "habend" und "mit", die hierin verwendet
wurden, sollen breit und umfassend gedeutet werden und nicht auf
irgendeine physikalische Verbindung begrenzt sein.
-
Außerdem sollen
die in dieser Anmeldung offenbarten Ausführungsformen nicht als die
einzig möglichen
Ausführungsformen
verstanden werden.
-
Andere
Ausführungen
sind für
den Fachmann ersichtlich und liegen innerhalb der folgenden Ansprüche.