DE3875451T2 - Verfahren zum optischen lesen von strichcodes. - Google Patents

Verfahren zum optischen lesen von strichcodes.

Info

Publication number
DE3875451T2
DE3875451T2 DE8888402731T DE3875451T DE3875451T2 DE 3875451 T2 DE3875451 T2 DE 3875451T2 DE 8888402731 T DE8888402731 T DE 8888402731T DE 3875451 T DE3875451 T DE 3875451T DE 3875451 T2 DE3875451 T2 DE 3875451T2
Authority
DE
Germany
Prior art keywords
xar
xbr
image
value
column
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
DE8888402731T
Other languages
English (en)
Other versions
DE3875451D1 (de
Inventor
Rafael Moreno
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.)
STMicroelectronics SA
Original Assignee
SGS Thomson Microelectronics SA
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 SGS Thomson Microelectronics SA filed Critical SGS Thomson Microelectronics SA
Publication of DE3875451D1 publication Critical patent/DE3875451D1/de
Application granted granted Critical
Publication of DE3875451T2 publication Critical patent/DE3875451T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/88Image or video recognition using optical means, e.g. reference filters, holographic masks, frequency domain filters or spatial domain filters
    • 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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1093Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube
    • 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/01Details
    • G06K7/016Synchronisation of sensing process
    • G06K7/0166Synchronisation of sensing process by means of clock-signals derived from the code marks, e.g. self-clocking code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)

Description

  • Die Erfindung betrifft das optische Lesen von Indexierungsmarkierungen und genauer von Strichcodes, die auf Etiketten oder allgemeiner auf Dokumenten oder auf jedem Gegenstand angebracht sind, der eine im wesentlichen ebene Oberfläche aufweist.
  • Die Indexierungsmarkierungen dienen zum Erkennen der Gegenstände, um deren Steuerung zu vereinfachen; sie werden gewöhnlich beispielsweise dazu verwendet, um die Angaben oder den Preis von Waren anzuzeigen; statt allein durch einen Betrachter klar lesbare Angaben zu vermerken, wird versucht, außerdem (oder stattdessen) durch optische Detektoren leicht erkennbare Codes anzubringen. Die Automatisierung bestimmter Arbeitsgänge kann davon stark vereinfacht werden; beispielsweise wird eine Kassiererin in einem Geschäft einen Lichtgriffel schneller über einer auf der Ware angebrachten Indexierungsmarkierung vorbeiführen, als sie den Preis und die Angabe liest und diese auf der Tastatur einer Registrierkasse tippt.
  • Die Strichcodes sind Markierungen, die sich für das automatisierte optische Lesen besonders gut eignen. Sie sind durch rechteckige Striche oder Balken gebildet, deren Breite und/oder Abstand dazu dienen, die verwendbare Information zu codieren. In dem sehr häufigen Fall, in dem diese Information eine Folge von Dezimalzahlen ist, ist die entsprechende Markierung dann beispielsweise durch eine Folge von zueinander parallelen Einzelstrichen gebildet, die eine Breite s.l aufweisen, wobei l die Breite der schmalsten Striche ist und s außerdem eine ganze Zahl bestimmter Einheiten ist, wobei der Abstand der Striche m.e ist, wobei e der schmalste Nominalabstand zwischen Strichen ist und m eine ganze Zahl bestimmter Einheiten ist.
  • Der Code kann sich auch auf einen variablen Abstand von Strichen mit konstanter Breite oder im Gegenteil auf eine variable Breite von Strichen beschränken, die in einer konstanten Entfernung mit Abstand angeordnet sind.
  • In sämtlichen Fällen erfolgt das Lesen des Strichcodes durch das Erkennen des Vorhandenseins von Strichen, selbst in Gegenwart von Rauschen, z.B. in Gegenwart von schwarzen Flecken, die mit auf einem weißen Hintergrund gedruckten schwarzen Balken vermischt sind.
  • Bei der vorliegenden Erfindung liegt dann das Interesse nicht an der eigentlichen Decodierung (Umwandlung der Breiten und/oder Abstände in beispielsweise eine Folge von Dezimalziffern), sondern lediglich im Erkennen des Vorhandenseins von Balken.
  • Die Genauigkeit des Erkennens hängt von der Eigenschaft der Markierung und dem Hintergrund ab, auf dem sie angebracht ist. Die Striche sollen auf sehr saubere Weise mit einem starken Leuchtkontrast in bezug auf den Hintergrund gedruckt werden. Die Genauigkeit hängt auch von der Eigenschaft des verwendeten optischen Detektors ab.
  • Die Qualität der Markierung soll besonders sorgfältig sein, wenn der Detektor einen zusammengefaßten Aufbau aufweist. Bestimmte Detektoren sind lediglich in der Lage, den Unterschied zwischen sehr absorbierenden Bereichen (beispielsweise sehr schwarze Tinte) und einem sehr reflektierenden Hintergrund (beispielsweise Hintergrund aus weißem Papier) zu machen, und noch unter der Bedingung, daß die Abgrenzung der Bereiche sehr sauber ist.
  • In bestimmten Fällen ist man sich bezüglich der Eigenschaft des Hintergrundes so wenig sicher, auf dem die Marken angebracht sind, da verschiedene Beschriftungen oder Flecken auf der Indexierungsmarkierung zur Überlagerung gelangen, daß Spezialtinten, die lediglich eine einzige Wellenlänge reflektieren, und selektiv mit dieser Wellenlänge arbeitende optische Detektoren verwendet werden, was die Realisierung kompliziert macht und die Kosten der Systeme erhöht.
  • Ziel der Erfindung ist es, ein Verfahren zum Lesen von Strichcodes vorzuschlagen, das es gestattet, Markierungen zu erkennen und zu decodieren, selbst wenn sie mangelhaft sind oder wenn sie auf Oberflächen mit mittelmäßiger Qualität angebracht sind. Dies gestattet es, die Markierungsverfahren zu vereinfachen, indem die Verwendung einfacher Drucker anstelle kostspieliger Druckverfahren gestattet wird.
  • Im ganzen bestehen die herkömmlichen Verfahren zum Lesen von Strichcodes einfach darin, einen optischen Detektor vor dem Code (oder dessen Umkehrung quer zur Verlängerungsrichtung der Einzelstriche mit konstanter Geschwindigkeit vorbeilaufen zu lassen, um das Vorhandensein von aufeinanderfolgenden Peaks des Ausgangssignals des Detektors zu beobachten, wobei die Peaks Absorptionsmaxima des Lichtdurchlasses oder der Lichtreflexion entsprechen, und die Peaks mit vorbestimmten Schwellwerten zu vergleichen, um hieraus das Vorhandensein oder das Fehlen von Einzelstrichen (dann ihre Breite und ihren Abstand) abzuleiten.
  • Das Patent EP A1 0036951 beschreibt ein System zur Erfassung von aufeinanderfolgenden Peaks in einem analogen Videosignal. Der Detektionsschwellwert ist dynamisch, d.h. er ändert sich abhängig vom Mittelpegel des detektierten Signals. Ändererseits beschreibt der Artikel IBM TDB Bd. 25, Nr. 11B, April 1983 ein Leseverfahren mit Zählung von Pixeln unter einem Matrix-Detektor. Die gesamte Punktdichte in einem Bereich wird ausgewertet und mit einem Nachbarbereich verglichen, um zu wissen, ob einer der beiden Bereiche ein schwarzer Strich ist.
  • Die Erfindung schlägt ein sehr viel anspruchsvolleres Verfahren vor, das es gestattet, Verschlechterungen der Markierung, wie Unterbrechungen von Strichen, einen schlechten Kontrast, Schmutzstörungen, einen unregelmäßigen Druck, etc. zu berücksichtigen.
  • Hierfür wird gemäß der Erfindung vorgeschlagen, die Folge folgender Bearbeitungsgänge auszuführen:
  • a) Lieferung mittels eines optischen Detektors einer Darstellung einer Zone enthaltend Striche eines Strichcodes in Form einer Pixel-Matrix, in der jedes Pixel einen binären logischen Zustand darstellt, der für einen Punkt der Zone charakteristisch ist;
  • b) Berechnung der Gesamtsumme Tj der Zahl der Pixel in einem ersten logischen Zustand für jede Spalte der Matrix, wobei j der Spaltenindex der Matrix ist;
  • c) Vorsehen eines Wertes SDA, sowie die Spalten, für die Tj kleiner als SDA ist, nicht angesehen werden, als ob sie wahrscheinlich einen Strich des Strichcodes enthalten;
  • d) Bestimmung durch Zunehmenlassen von j einer Folge von Spaltenabszissen XA1, XA2, ..., XAr, etc., für die Tj den Wert SDA in einer ersten Richtung überschreitet, und einer Folge von Spaltenabszissen XB1, XB2, ..., XBr, etc., für die Tj den Wert SDA in der anderen Richtung überschreitet;
  • e) Abgrenzung in der Pixel-Matrix eines Rechtecks für jeden Index r, das als Seiten die Abszissenspalten XAr und XBr oder unmittelbar benachbarte Spalten aufweist;
  • f) Vergleichen für jedes Rechteck eines Parameters des durch die in diesem Rechteck enthaltenen Pixel mit einem bestimmten logischen Zustand dargestellten Gesamtbildes mit einem theoretischen Nominalparameter für einen strichcode-Strich, der im wesentlichen in der Richtung der Spalten des Rechtecks orientiert ist;
  • g) Liefern eines binären elektrischen Signals mit einem ersten logischen Zustand oder einem zweiten logischen Zustand abhängig vom Ergebnis des Vergleichs, wobei dieses Signal das Vorhandensein oder das Fehlen eines Strichs darstellt.
  • Die Erfindung besteht somit darin, bestimmte Bildzonen des verarbeiteten Blocks auszuschalten und lediglich die Rechteckblöcke zu bewahren, für die eine hohe Wahrscheinlichkeit vorliegt, daß sie im wesentlichen einen Strichcode- Strich enthalten; diese Wahrscheinlichkeit wird ausgehend von der Spaltenzählung der Pixel des Blocks bestimmt; dann wird eine bestimmte Formerkennung an den ausgewählten Rechteckblöcken ausgeführt, wobei die anderen Blöcke gar nicht mehr berücksichtigt werden. Die Erkennung erfolgt durch Vergleich des in jedem Block gespeicherten Bildes mit einem theoretischen Strichbild in der betrachteten Anwendung; ein Parameter des Vergleichs kann die im Rechteckblock enthaltene schwarze Fläche sein; es kann auch die Höhe, die Position eines Schwerpunkts oder Baryzentrums des Bildes sein; es kann auch eine Kombination dieser verschiedenen Parameter sein: Es wird ein Ähnlichkeitskoeffizient zwischen dem reellen Bild in einem Block und einem theoretischen Bild vorgesehen, wobei der Koeffizient von mehreren Parametern abhängt, und das Erkennungssignal wird durch Vergleich des Ähnlichkeitskoeffizienten mit einem gewählten Minimalwert gebildet.
  • Gemäß einem wichtigen Merkmal der Erfindung kann dann der Wert SDA, der zur Bestimmung der Grenzen der zu bewahrenden Blöcke dient, durch eine Folge von Rekursivarbeitsgängen bestimmt werden, die die folgenden sind:
  • c1) es wird eine erste ganze Zahl SD mindestens gleich 1 gewählt;
  • c2) es wird durch Zunehmenlassen von j eine Folge von Werten XA1, XA2, ..., XAr, etc. von j, für die Tj den Schwellwert SD in einer ersten Richtung überschreitet, und eine Folge von Werten XB1, XB2, . .., XBr, etc. bestimmt, für die Tj den Schwellwert in der anderen Richtung überschreitet;
  • c3) für jedes der Paare XAr, XBr wird ein Wert berechnet, der das Verhältnis zwischen der Größe (XBr-XAr) SD und der Größe ist, die die Summierung von [Tj - SD], für j sich ändernd von XAr bis XBr, ist;
  • c4) es wird dieses Verhältnis mit einem gewählten minimalen Verhältnis verglichen;
  • c5) es wird SD um eine Einheit inkrementiert, wenn eines der Verhältnisse kleiner als das gewählte minimale Verhältnis ist, und es werden die Schritte c2 bis c5 wieder begonnen;
  • c6) es wird die Inkrementierung angehalten, wenn die berechneten Verhältnisse für die Paare XAr, XBr jeweils sämtlich das minimale Verhältnis überschreiten; es werden die der letzten bewirkten Berechnung entsprechenden Indizes XAr, XBr gespeichert, und der Wert SDA ist der bei dieser Rekursivberechnung verwendete letzte Wert von SD.
  • Gemäß einem weiteren wichtigen Merkmal der Erfindung wird der zum Beginnen der Rekursivberechnung gewählte Anfangswert von SD erhalten durch
  • - Berechnung der Gesamtpixelzahl im ersten binären logischen Zustand für die gesamte Matrix,
  • - Berechnung des Verhältnisses zwischen dieser Zahl und der Zahl von in einer Spalte der Matrix enthaltenen Pixeln,
  • - Multiplikation dieses Verhältnisses mit einem Koeffizienten und Wahl einer ganzen Zahl nahe dem Ergebnis, um den Anfangswert von SD zu erhalten.
  • Die Berechnung des Anfangswertes von SD hat ganz einfach das Ziel, die Zahl von Rekursivarbeitsgängen für das Bilden des Wertes SDA herabzusetzen; man konnte jedoch sehr gut mit SD = 1 beginnen. Die obige Berechnung gestattet es, einen Anfangswert von SD vorzusehen, der mit der mehr oder weniger großen Pixeldichte in einem gegebenen logischen Zustand verbunden ist; mit anderen Worten, man konzentriert sich auf einen Anfangswert von SD, der umso höher ist, wie es mehr "schwarze" Pixel (für schwarze Striche auf weißem Hintergrund) in der untersuchten Matrix gibt.
  • Was die Bestimmung der Paare XAr, XBr anbelangt, für die die spaltenweise berechnete Pixelsumme Tj den Schwellwert SD in einer Richtung, dann in einer anderen überschreitet, ist die bevorzugte Lösung gemäß der Erfindung die folgende:
  • - XAr ist der Wert von j, für den, bei Zunehmenlassen von j, Tj größer oder gleich SD wird, während Tj zuvor (für j = XAr-1) strikt kleiner als SD war;
  • - XBr ist der erste Wert von j, für den, bei Zunehmenlassen von j von XAr an, Tj noch größer oder gleich SD ist, während für die folgende Spalte (j = XBr + 1) Tj wieder strikt kleiner als SD wird.
  • Es könnten Varianten zur Bestimmung von XAr und XBr vorgesehen werden, ohne den Rahmen der Erfindung zu verlassen; beispielsweise kann XAr ein Wert sein, für den Tj strikt größer als SD wird; oder ein Wert der Abszisse der Spalte, der der Spalte unmittelbar vorhergeht, für die Tj größer oder gleich groß SD wird. Ebenso kann XBr der erste Wert von j sein, für den Tj strikt kleiner als SD wird oder für den Tj wieder kleiner oder gleich SD wird.
  • Diese Varianten haben eine Wirkung auf die Wahl der Entscheidungsschwellwerte, insbesondere für die Berechnung von SDA; in einer Gattungsformulierung wird erachtet, daß der Ausdruck "Tj überschreitet den Schwellwert SD" entweder in einer Richtung oder in der anderen die verschiedenen Varianten überdeckt.
  • Weitere Merkmale und Vorteile der Erfindung gehen beim Lesen aus der nachfolgenden detaillierten Beschreibung hervor, die unter Bezugnahme auf die beigefügten Zeichnungen ausgeführt ist, in denen:
  • Figur 1 schematisch eine Vorrichtung zum Lesen von Indexierungsmarkierungen in der Form von Strichcodes zeigt;
  • Figur 2 in Form einer Binärpixel-Matrix ein digitalisiertes Bild einer Zone, die schwarze Flächen enthält, die als Strichcode-Striche geeignet sind, sowie eine Kurve Tj = f(j) zeigt, die die Summe schwarzer Pixel jeder Spalte j der Matrix von Figur 1 darstellt; diese Figur stellt auch schraffierte Flächen oberhalb und unterhalb eines Schwellwertes SD dar;
  • Figur 3 die Kurve Tj = f(j) mit schraffierten Flächen oberhalb und unterhalb eines weiteren Schwellwerts SD1 darstellt;
  • Figur 4 die Kurve Tj = f(j) mit schraffierten Flächen oberhalb und unterhalb eines weiteren Schwellwerts SD2 zeigt;
  • Figur 5 die Bildmatrix von Figur 2 nach Eliminierung bestimmter Teile darstellt, die nicht geeignet sind, Strichcode-Striche zu enthalten.
  • In Figur 1 ist ein einfaches Beispiel für einen auf ein Blatt aufgedruckten Strichcode dargestellt; die Striche sind rechteckige Balken mit Nominalhöhe H, Nominalbreite l und Nominalabstand P. Der Code ist durch den Ist-Abstand E zwischen Achsen benachbarter Striche definiert, wobei der Abstand ein ganzzahliges Vielfaches des Schritts P mit den Nahpositionierungstoleranzen ist. Demzufolge besteht das Grundprinzip des Lesens darin zu bestimmen, ob es einen Strich an den verschiedenen möglichen Stellen gibt oder nicht, wobei diese Stellen voneinander um den Abstand P entfernt angeordnet sind.
  • Ein vorzugsweise durch eine lineare Fotodiodenstabanordnung gebildeter optischer Detektor 10 wird vor der den Strichcode tragenden Fläche in gleichmäßige Bewegung versetzt.
  • Beim Stand der Technik begnügte man sich damit, Absorptionspeaks (für schwarze Striche auf weißem Hintergrund) oder Reflexionspeaks (für reflektierende Striche auf wenig reflektierendem Hintergrund) zu beobachten und hieraus das Vorhandensein oder das Fehlen von Striche abzuleiten, je nachdem, ob der Peak einen bestimmten Schwellwert überschritt oder nicht.
  • Bei der vorliegenden Erfindung schreitet man zur Bildung eines Matrix-Bildes der die Markierungen tragenden Flächen (oder eines Teils der Fläche), bewirkt, daß das spezielle Signal mit diesem Matrix-Bild eine Verarbeitung durchläuft, um Zonen mit hoher Wahrscheinlichkeit für das Vorhandensein eines Strichs abzugrenzen, dann das in diesen Zonen enthaltene Bild mit einem Strich-Bildtyp zu vergleichen.
  • Der Verarbeitungs- und Wiedererkennungskreis ist durch einen Block 12 in Figur 1 schematisch dargestellt.
  • Das Matix-Bild einer Flächenzone 14 wird durch den optischen Detektor 10 geliefert, der eine Kamera mit linearem oder Matrix-Fotosensor sein kann. Wenn es sich um einen linearen Fotosensor handelt, wird das Bild der Zone 14 nach Maßgabe der Verschiebung des Detektors längs der Zone 14 geliefert.
  • Das Bild jedes Punktes wird in ein Pixel oder Informationsbit 0 oder 1 umgewandelt, das die Tatsache darstellt, daß die Fläche dieses Punktes eher reflektierend oder eher absorbierend ist. Die untersuchten Stellen der Fläche 14 werden mehr oder weniger gemäß der Auflösung des optischen Detektors in bezug aufeinander angenähert. Die Auflösung in der vertikalen Richtung ist nicht zwangsläufig dieselbe wie in der horizontalen Richtung; hier wird eine höhere Auflösung in der horizontalen Richtung, d.h. quer zu den Strichen, bevorzugt.
  • Das Gesamtbild der Zone 14 wird in einem Matrix-Speicher mit n Zeilen und p Spalten gespeichert. Es kann auch eine Speicherung eines Bildes der gesamten markierten Fläche und die Verarbeitung dieses vollständigen Bildes ausgeführt werden, aber die Unterteilung in mehrere aufeinanderfolgend untersuchte Zonen 14 gestattet es, die Verarbeitung des Bildes zu beschleunigen.
  • Die erste Phase, Phase I der Signalverarbeitung, besteht darin, das Bild in signifikante Zonen zu segmentieren, für die die Wahrscheinlichkeit hoch ist, daß sie einen Strich enthalten. Das Ziel dieser Phase ist insbesondere, den großen Teil der Zonen auszuschalten, die ungewünschte Flecken aufweisen, die das Bild stören und die nicht als Strich angesehen werden können. Auf die Phase I folgt dann eine Formwiedererkennungsphase.
  • Die Phase I läuft in zwei aufeinanderfolgenden Schritten A und B ab, wobei der erste nicht immer erforderlich ist, aber den Zweck hat, die Zahl der Berechnungen des folgenden Schritts B herabzusetzen.
  • Der erste Schritt A besteht darin, einen Ausgangsschwellwert für die Analyse zu bestimmen, die beim zweiten Schritt B ausgeführt wird. Man kommt wieder auf den Schritt A zurück, nachdem das Detail des Schritts B beschrieben worden ist, denn es ist schwierig, die Bedeutung des Schritts A zu verstehen, ohne zu wissen, was der Schritt B ist.
  • Der Schritt B besteht zunächst darin, für jede der p Spalten der Matrix die Gesamtsumme der in dieser Spalte enthaltenen Pixel in einem ersten binären Zustand zu berechnen. In der Folge wird lediglich als Beispiel die Betrachtung angestellt, daß die Pixel im hohen Zustand (Zustand 1) gezählt werden und daß diese Pixel schwarze Stellen des Bildes darstellen.
  • In Figur 2 ist ein Beispiel für einen Matrix-Block mit einem in dieser Matrix gespeicherten Bild schwarzer Stellen (Pixel mit Zustand 1) dargestellt. Die schwarzen Pixel sind schraffiert und die Ziffer 1 ist in dem diesem Pixel entsprechenden Quadrat eingetragen. Die schwarzen Stellen umfassen weder Schraffierung noch Beschriftung.
  • Es wird daher berechnet, ob x (i, j) der Wert des Pixels am Schnittpunkt der Reihe i und der Spalte j, die Summe Tj (für jede Spalte j) der x (i, j), für i sich ändernd von 1 bis n, ist.
  • Man gelangt zu einer Darstellung von Tj abhängig von j; diese Darstellung ist in Figur 2 unterhalb der Spalten der Matrix gezeichnet, damit die Entsprechung zwischen einer Spalte j und der Gesamtsumme der schwarzen Pixel gut zu sehen ist, die sie enthält.
  • Es werden im Speicher die Werte von Tj mit einer Entsprechung zwischen jeder Spaltenzahl j und dem Wert Tj der Summe der schwarzen Pixel dieser Spalte gespeichert.
  • Es wird anschließend eine Folge von Rekursivberechnungsschritten ausgeführt, die auf folgende Weise ablaufen:
  • -es erfolgt eine Festlegung eines Anfangswertes zum Start SD für Tj; das Ziel des oben erwähnten Schritts A besteht darin, diesen Wert SD zu bestimmen, und es wird darauf später zurückgekommen; für den Augenblick wird angenommen, daß SD eine relativ niedrige ganze Zahl, größer als 1 ist; in Figur 2 ist SD = 2 für eine Kurve gewählt worden, in der sich Tj von 0 bis 9 ändert;
  • -es wird eine Zunahme von j von 1 bis p bewirkt, und es wird bestimmt
  • a) eine Folge von Werten XA1, XA2, ...XAr, etc., für die Tj den Schwellwert SD in einer ersten Richtung, beispielsweise in der Zunahmerichtung, überschreitet; in Figur 2 sind so vier Spalten XA1, XA2, XA3, XA4 gekennzeichnet, für die Tj größer oder gleich SD pro zunehmendem Wert in der Richtung der zunehmenden j wird; b) eine Folge von Werten XB1, XB2, ..., XBr, etc., für die Tj den Schwellwert SD in der anderen Richtung überschreitet; in Figur 2 sind vier Werte XB1, XB2, XB3, XB4 gekennzeichnet, für die Tj noch größer oder gleich SD ist, aber strikt kleiner als SD in der folgenden Spalte in der Richtung der zunehmenden j sein wird;
  • -es wird nun für jedes der Paare XAr, XBr ein Verhältnis berechnet, das das Verhältnis zwischen zwei Flächen der Kurve Tj abhängig von j ist; in Figur 2 sind diese beiden Flächen in Form von in verschiedenen Richtungen schraffierten Zonen dargestellt; die mit Sinf1 bezeichnete erste Fläche für das erste Paar XA1, XB1, Sinf2 für das Paar XA2, XB2, etc., ist die durch die Kurve Tj zwischen den durch das betrachtete Paar definierten Abszissen unterhalb des Schwellwertes SD begrenzte Fläche. Die mit Ssup1 bezeichnete zweite Fläche für das erste Paar XA1, XB1, mit Ssup2 für das Paar XA2, XB2 bezeichnet, etc., ist die durch die Kurve Tj bezeichnete Fläche zwischen den durch das betrachtete Paar definierten Abszissen oberhalb des Schwellwertes SD. Die Flächen Sinf lassen sich in der Form (XBr - XAr) SD ausdrücken; die Flächen Ssup lassen sich als die Summe von (Tj - SD), für j sich ändernd von XAr bis XBr, ausdrücken;
  • - es werden die Verhältnisse der unteren und oberen Flächen für jedes der Paare mit einem gewählten Wert verglichen;
  • - wenn das Verhältnis kleiner als der gewählte Wert für wenigstens ein Paar XAr, XBr ist, wird SD um eine Einheit inkrementiert, und es werden die Verhältnisberechnungsarbeitsgänge wieder begonnen; wenn das Verhältnis größer als der gewählte Wert für sämtliche Paare ist, werden die letzten Werte von XAr und XBr im Speicher gespeichert, für die die Berechnung ausgeführt worden ist; es handelt sich um diese Werte, die dazu verwendet werden, die Zonen mit hoher Wahrscheinlichkeit für das Vorhandensein von Strichen zu definieren.
  • Es wird die an der Punktmatrix und der Kurve von Figur 2 ausgeführte Rekursivberechnung schrittweise mit den in der Zeichnung gegebenen Zahlenwerten beschrieben. Selbstverständlich wird dieses Beispiel lediglich zur Information gegeben, um die Erfindung besser zu verstehen.
  • 1. Erster Schritt der Rekursivberechnung
  • Es wird von SD = 2 ausgegangen; sobald die erste Spalte (XA1 = 1) die Summe von schwarzen Pixeln größer als 2 ist; dann gelangt sie bei der folgenden Spalte zu 3 und diese Spalte (XB1 = 2) ist die letzte Spalte, bevor die Summe nicht strikt unterhalb von 2 wieder abfällt; die anderen Spaltenpaare, für die der Schwellwert SD überschritten wird, sind die folgenden:
  • XA2 = 5, für die Tj zu 4 gelangt
  • XB2 = 8, für die Tj gleich 4 wird, vor dem Wiederabfallen auf 1
  • XA3 = 11, für die Tj zu 9 gelangt,
  • XB3 = 13, für die Tj noch gleich 2 ist, vor dem Wiederabfallen auf 0
  • XA4 = 15, für die Tj zu 3 gelangt,
  • XB4 = 15 (dies ist dieselbe Spalte wie XA4), da ja schon die 16te Spalte Tj wieder auf 1 abfällt.
  • Es werden nun die verschiedenen unteren und oberen Flächen unterhalb und oberhalb der durch SD = 2 definierten Zeile berechnet.
  • Sinf1 = 4 zwischen den Spalten XA1 und XB1 unterhalb von SD = 2.
  • Ssup1 = 1 zwischen den Spalten XA1 und XB1 oberhalb von SD = 2.
  • Ihr Verhältnis R1 = Sinf1/Ssup1 ist gleich 4.
  • Sinf2 = 8 zwischen den Spalten XA2 und XB2 unterhalb von SD = 2
  • Ssup2 = 14 zwischen den Spalten XA2 und XB2 oberhalb von SD = 2
  • R2 = Sinf2/Ssup2 = 0,57
  • Sinf3 = 6
  • Ssup3 = 12
  • R3 = 0,5
  • Sinf4 = 2
  • Ssup4 = 1
  • R4 = 2
  • Die Flächenverhältnisse verteilen sich zwischen 0,5 und 4. Es wird angenommen, dar der Anhaltschwellwert der Berechnungen von 1 in diesem Beispiel ist. Offensichtlich sind bestimmte der Verhältnisse kleiner als 1. Hieraus wird gefolgert, daß SD um eine Einheit inkrementiert werden und die Bestimmungen der Spaltenpaare XAr, XBr wieder aufgenommen werden müssen, für die Tj den neuen Schwellwert SD1 = 3 überschreitet.
  • 2. Zweiter Schritt der Rekursivberechnung
  • In Figur 3 ist die Kurve Tj abhängig von j mit dem neuen Schwellwert SD1 = 3, den neuen Spaltenpaaren, für die Tj den neuen Schwellwert überschreitet, und den neuen schraffierten unteren und oberen Flächen dargestellt, die sich hieraus ergeben und die dieselbe Definition wie zuvor haben.
  • Bei dem hier numerisch untersuchten Beispiel findet man die folgenden neuen Spaltenpaare:
  • XA1 = 2 XA2 = 5 XA3 = 11 XA4 = 15
  • XB1 = 2 XB2 = 8 XB3 = 12 XB4 = 15
  • und die folgenden unteren und oberen Flächen:
  • SinF1 = 3 Sinf2 = 12 Sinf3 = 6 Sinf4 = 3
  • Ssup1 = 0 Ssup2 = 10 Ssup3 = 10 Ssup4 = 0
  • daher die Verhältnisse:
  • R1 unendlich, R2 = 1,2 R3 = 0,6 R4 = unendlich
  • Wenn diese Verhältnisse mit dem gewählten Schwellwert, hier der Einheit, verglichen werden, ist ersichtlich, daß ein einziges Verhältnis kleiner als dieser Schwellwert bleibt; die Berechnung muß daher wieder begonnen werden, indem der Schwellwert SD1 um eine Einheit inkrementiert wird, der nun SD2 = 4 wird.
  • 3. Dritter Schritt der Rekursivberechnung
  • Figur 4 stellt aufs Neue die Funktion Tj der Summe der schwarzen Pixel der als Beispiel betrachteten Matrix dar; der Schwellwert SD2 = 4 gestattet es, neue Abszissen XAr von Spalten, für die Tj den Schwellwert SD2 in der zunehmenden Richtung (in der Richtung der zunehmenden j) überschreitet, und von neuen Abszissen XBr zu definieren, für die, immer noch in der Richtung der zunehmenden j, Tj aufs Neue den Schwellwert SD2 überschreitet, dieses Mal in der abnehmenden Richtung; dort sind die Abszissen XBr genauer als die letzte Spalte definiert, für die Tj größer oder gleich SD2 vor dem strikten Wiederabfallen nach unten ist.
  • Es werden die untenstehenden neuen Spaltenpaare gefunden:
  • XA1 = 5 XA2 = 11
  • XB1 = 8 XB2 = 12
  • Sinf1 = 16 Sinf2 = 8
  • Ssup2 = 6 Ssup2 = 8
  • R1 = 2,67 R2 = 1
  • Sämtliche Flächenverhältnisse sind jetzt größer oder gleich 1, d.h. als der Wert, der zur Beendigung der Rekursivberechnung festgelegt wurde.
  • Die Inkrementierung von SD wird daher angehalten und der letzte Wert SD2 stellt den Wert SDA dar, so wie die Spalten, für die Tj kleiner als SDA ist, nicht als Spalten angesehen werden, die wahrscheinlich einen Strichcode-Strich enthalten.
  • Es werden nun die letzten Abszissenpaare XAr, XBr gespeichert, für die die Rekursivberechnung ausgeführt worden ist, d.h. für die Tj den Schwellwert SDA in einer Richtung, dann in der anderen überschreitet.
  • Es werden nun von der Pixel-Matrix von Figur 2 die Spalten eliminiert, für die Tj kleiner als SDA ist; dies läuft darauf hinaus, jeweils mit mehreren benachbarten Spalten der Matrix gebildete Pixelblöcke zu begrenzen, wobei jeder der Blöcke geeignet ist, einen Strichcode-Strich zu enthalten.
  • Jeder Block wird einerseits durch eine Spalte XAr und andererseits durch die den selben Index r entsprechende Spalte XBr begrenzt. Grundsätzlich enthält der Block gleichzeitig die Spalte XAr und die Spalte XBr und geht nicht darüber hinaus; man kann sich jedoch Varianten vorstellen, bei denen jeder Block die XAr unmittelbar vorhergehende Spalte oder die der Spalte XBr unmittelbar folgende Spalte oder beide enthält; man kann sich auch Varianten vorstellen, bei denen der Block durch Spalten XAr und XBr begrenzt ist, ohne entweder die eine oder die andere dieser Spalten oder sogar beide zu enthalten. Der Wert des minimalen Flächenverhältnisses Sinf-Ssup, das bei der Rekursivberechnung für die Bestimmung von SDA verwendet wird, hängt von der gewählten Variante und vor allem von der betrachteten Anwendung ab; er kann intuitiv oder als Folge tatsächlicher Experimente bei der Anwendung gewählt werden. Er ist im beschriebenen Beispiel gleich 1 aufgrund von Figur 2 gewählt worden.
  • Figur 5 stellt die Pixelmatrix des Blocks von Figur 2 dar, in der lediglich die Pixel der durch die Spalten XAr, XBr begrenzten Blöcke erhalten worden sind. Im Inneren dieser Blöcke wird dann entschieden, ob es einen Strichcode-Strich gibt oder nicht.
  • Die Phase I, Segmentierungsphase des Bilds mit Blöcken mit hoher Wahrscheinlichkeit für das Vorhandenseins eines Strichs, ist nun beendet.
  • Es bleibt indessen die Prazisierung des Schritts A dieser Phase I, Schritt der Bestimmung eines Ausgangsschwellwerts SD für die Rekursivberechnung des Schritts B. Statt die Rekursivberechnung ausgehend von SD = 1 auszuführen, wird bevorzugt, überflüssige Schritte zu entfernen, für die man praktisch sicher ist, daß bestimmte der Flächenverhältnisse Sinf/Ssup kleiner als der gewählte Wert sind.
  • Gemäß einem speziellen Merkmal der Erfindung wird im Verlauf eines dem Schritt B vorhergehenden Schritts A ein Anfangswert von SD auf die folgende Weise berechnet:
  • - es wird die Gesamtpixelzahl im ersten binären logischen Zustand für die gesamte Bildmatrix berechnet: Dies ist die Summe der Werte Tj, für j sich ändernd von 1 bis p;
  • - diese Summe wird mit einer vorbestimmten Zahl K multipliziert (die in der Praxis umso kleiner ist, wie die Zahl p von Spalten der Matrix größer ist derart, daß die Zahl K in der Form K = k/p geschrieben werden kann;
  • - und es wird eine ganze Zahl nahe dem Ergebnis der Multiplikation gewählt, beispielsweise die bei unterem Wert oder bei oberem Wert nähere Zahl; diese Zahl bildet den Ausgangswert SD der Rekursivberechnung.
  • In einem numerischen Beispiel entsprechend demjenigen von Figur 2 ist die Zahl p von 16; der gewählte Koeffizient k (abhängig von intuitiven Betrachtungen oder mit der betrachteten Anwendung verbundenen Experimenten) ist 1/2; K ist daher gleich 1/32; die Pixelgesamtzahl im logischen Zustand 1 in der Matrix ist 52; das Ergebnis der Multiplikation ist 1,63; es wird für SD die nähere ganze Zahl, d.h. SD = 2, gewählt.
  • Bei einem weiteren numerischen Beispiel mit einer Matrix von 64 Reihen mal 64 Spalten, bei der 550 schwarze pixel zu finden sind, wird mit demselben Koeffizienten k = 1/2 ein Ausgangsschwellwert SD = 4 gefunden, unterhalb von dem es nicht erforderlich ist, die Rekursivberechnung auszuführen.
  • Was die Phase II der Strichdetektion betrifft, besteht sie wie bereits erwähnt in einer Formwiedererkennung, die dazu bestimmt ist zu verifizieren, ob das Vorhandensein von relativ zahlreichen schwarzen Stellen im Inneren der in der Phase I ausgewählten Blöcke einem strichcode entspricht oder nicht.
  • Diese Wiedererkennung kann mehr oder weniger kompliziert sein und die Auswahl der erkannten Zonen als Striche kann mehr oder weniger schwer sein.
  • Bei einem extrem vereinfachten Beispiel kann die Wiedererkennung allein in einer allgemeinen Auswertung der schwarzen Fläche im Inneren jedes der ausgewählten Blöcke und in einem Vergleich dieser Fläche mit einer Nominalstrichfläche bei der betrachteten Anwendung oder mit einem Bereich von zulässigen Nominalwerten bestehen. Die schwarze Fläche wird durch einfache Summierung von Tj zwischen den Grenzen XAr und XBr eines Blocks ausgewertet.
  • Im Fall von Figur 2, verarbeitert zum Führen zur Figur 5, ist die schwarze Fläche im ersten Block zwischen XA1 und XB1 gleich 22; im zweiten Block ist sie 13. Es kann angenommen werden, daß ein strich als solcher wiedererkannt wird, wenn die Fläche mindestens gleich 10 schwarzen Pixeln ist, und in diesem Fall werden im Bild von Figur 2 zwei Striche wiedererkannt, wobei die anderen schwarzen Pixel als Rauschen angesehen werden können, das durch das Verarbeitungsverfahren der vorliegenden Erfindung entfernt worden ist.
  • Bei einem komplizierteren Formwiedererkennungsbeispiel kann außer der schwarzen Gesamtflächenberechnung in einem Block eine Höhenberechnung des schwarzen Bildes im Block, wenn dieses nicht die gesamte Höhe des Blocks belegt, und ein Vergleich mit einer Strichnominalhöhe oder einem Bereich von noch annehmbaren Nominalhöhen ausgeführt werden.
  • Vorzugsweise erfolgen diese Vergleiche nach einer Zusatzsignalverarbeitung, bestehend in der Entfernung der isolierten schwarzen Pixel in den ausgewählten Blöcken, d.h. derjenigen, die im Inneren eines Blocks keinen unmittelbar benachbarten Nachbarn in derselben Zeile oder in derselben Spalte (oder gegebenenfalls auch diagonal) aufweisen. Diese isolierten Pixel können tatsächlich als Rauschen angesehen werden. In bestimmten Fällen können sogar kleine isolierte Gruppen entfernt werden.
  • Es kann auch ins Auge gefaßt werden, die Wiedererkennungskriterien zu präzisieren, indem die Position eines Baryzentrums der Fläche von schwarzen Pixeln eines Blocks ausgewertet wird und indem diese Postion mit einer Nominalposition oder einem Bereich von zulässigen Nominalpositionen für einem Strichcode verglichen wird. Das Baryzentrum kann als der Punkt definiert werden, für den die Summe der Quadrate der Abstände zwischen diesem Punkt und jedem der Punkte des Blocks minimal ist.
  • Im allgemeinen Fall kann dann ein Ähnlichkeitskoeffizient vorgesehen werden, der als Relativwert die kurze Entfernung zwischen den Istwerten und den Nominalwerten von Fläche, Höhe, Baryzentrumposition, etc. darstellt.
  • Bei einer speziellen Ausführung kann vorgesehen werden, daß der Ähnlichkeitskoeffizient ausgehend von einem Mittelwert der Abweichungen zwischen den Ist- und Nominalwerten verschiedener Parameter berechnet wird, unter denen diejenigen, die obenstehend genannt worden sind. Wenn die prozentualen Relativabweichungen für drei Parameter E1, E2, E3 sind, kann dann der in Prozenten ausgedrückte Ähnlichkeitskoeffizient sein
  • CR(%) = 100 - (E1 + E2 + E3)/3
  • Dieser Koeffizient wird mit einem annehmbaren Minimalwert, beispielsweise 80%, verglichen; wenn er größer ist, wird ein elektrisches binäres Signal in einem ersten Zustand geliefert um anzuzeigen, daß ein Strich im betrachteten Block zwischen zwei Abszissen XAr und XBr wiedererkannt worden ist; wenn er kleiner ist, wird ein elektrisches Signal in einem zweiten Zustand geliefert um anzuzeigen, daß der Block in Wirklichkeit keinen Strichcode, sondern schwarze Störflecken aufweist.
  • Bei einer noch weiteren Variante wird entweder zur Entfernung der Blöcke oder zur Vervollständigung der Berechnung eines Ähnlichkeitskoeffizienten durch einen zusätzlichen Parameter oder noch zur Unterstützung der Decodierung des Codes eine Messung der Breite der Blöcke zwischen den Abszissen XAr und XBr verwendet; diese Messung wird mit einer Nominalbreite oder mehreren Nominalbreiten (wenn sich der Code auf die Breite der Striche stützt) oder außerdem mit einem oder mehreren Bereichen annehmbarer Breiten verglichen. Noch überdies kann der Ähnlichkeitskoeffizient ausgehend vom Mittelwert der prozentualen relativen Abweichungen der verschiedenen Paramater in bezug auf ihre Nominalwerte berechnet werden.

Claims (8)

1. Verfahren zum optischen Lesen von Strichcodes, dadurch gekennzeichnet, daß es die Folge folgender Arbeitsgänge umfaßt:
a) Lieferung mittels eines optischen Detektors einer Darstellung einer Zone enthaltend den Strichcode in Form einer Pixel-Matrix, in der jedes Pixel einen binären logischen Zustand darstellt, der für einen Punkt der Zone charakteristisch ist;
b) Berechnung der Gesamtsumme Tj der Zahl der Pixel in einem ersten logischen Zustand für jede Spalte der Matrix, wobei j der Spaltenindex der Matrix ist;
c) Vorsehen eines Wertes SDA, wie nicht erachtet wird, daß die Spalten, für die Tj kleiner als SDA ist, wahrscheinlich einen Teil eines Strichs des Strichcodes enthalten;
d) Bestimmung durch Zunehmenlassen von j einer Folge von Spaltenabszissen XA1, XA2, ..., XAr etc., für die Tj den Wert SDA in einer ersten Richtung überschreitet, und einer Folge von Spaltenabszissen XB1, XB2, ..., XBr, etc., für die Tj den Wert SDA in der anderen Richtung überschreitet;
e) Abgrenzung in der Pixel-Matrix eines Rechtecks, das als Seiten die Abszissenspalten XAr und XBr oder unmittelbar benachbarte Spalten aufweist, für jeden Index r;
f) Vergleichen für jedes Rechteck eines Parameters des durch die in diesem Rechteck enthaltenen Pixel mit einem bestimmten logischen Zustand gebildeten Gesamtbildes mit einem theoretischen Nominalparameter für einen Strichcode-Strich, der im wesentlichen in der Richtung der Spalten des Rechtecks orientiert ist;
g) Liefern eines binären elektrischen Signals mit einem ersten logischen Zustand oder einem zweiten logischen Zustand abhängig vom Ergebnis des Vergleichs, wobei dieses Signal das Vorhandensein oder das Fehlen eines Strichs darstellt.
2. Optisches Leseverfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Wert SDA des Schritts c durch eine Folge von Rekursivarbeitsgängen bestimmt ist, die die folgenden sind:
c1) es wird eine erste ganze Zahl SD mindestens gleich 1 gewählt;
c2) es wird durch Zunehmenlassen von j eine Folge von Werten XA1, XA2, ..., XAr, etc. von j, für die Tj den Schwellwert SD in einer ersten Richtung überschreitet, und eine Folge von Werten XB1, XB2, ..., XBr, etc. bestimmt, für die Tj den Schwellwert in der anderen Richtung überschreitet;
c3) für jedes der Paare XAr, XBr wird ein Wert berechnet, der das Verhältnis zwischen der Größe (XBr-XAr) SD und der Größe ist, die die Summierung von [Tj - SD], für j sich ändernd von XAr bis XBr, ist;
c4) es wird dieses Verhältnis mit einem gewählten minimalen Verhältnis verglichen;
c5) es wird SD um eine Einheit inkrementiert, wenn wenigstens eines der Verhältnisse kleiner als das gewählte minimale Verhältnis ist, und es werden die Schritte c2 bis c5 wieder begonnen;
c6) es wird die Inkrementierung angehalten, wenn die berechneten Verhältnisse für die Paare XAr, XBr jeweils sämtlich das minimale Verhältnis überschreiten; es werden die der letzten bewirkten Berechnung entsprechenden Indizes XAr, XBr gespeichert, und der Wert SDA ist der bei dieser Rekursivberechnung verwendete letzte Wert von SD.
3. Optisches Leseverfahren nach Anspruch 2, dadurch gekennzeichnet, daß der beim Schritt c1 zum Beginnen der Rekursivberechnung gewählte Anfangswert von SD erhalten wird durch
- Berechnung der Gesamtpixelzahl im ersten binären logischen Zustand für die gesamte Matrix,
- Multiplikation dieser Zahl mit einem Koeffizienten und Wahl einer ganzen Zahl nahe dem Ergebnis, um den Anfangswert von SD zu erhalten.
4. Optisches Leseverfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Bestimmung der Paare XAr, XBr für die die spaltenweise berechnete Pixelsumme Tj den Schwellwert SD in einer Richtung, dann in einer anderen überschreitet, die folgende ist:
- XAr ist der Wert von j, für den, bei Zunehmenlassen von j, Tj größer oder gleich SD wird, während Tj zuvor (für j = XAr-1) strikt kleiner als SD war;
- XBr ist der erste Wert von j, für den, bei Zunehmenlassen von j von XAr an, Tj noch größer oder gleich SD ist, während für die folgende Spalte (j = XBr + 1) Tj wieder strikt kleiner als SD wird.
5. Optisches Leseverfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß beim Schritt f mehrere verschiedene Parameter für das in jedem Rechteck enthaltene Bild ausgewertet werden und mit einem Nominalparameter verglichen werden, und daß das beim Schritt g gelieferte elektrische Signal abhängig von der Gesamtheit dieser Vergleiche ist.
6. Optisches Leseverfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der beim Schritt f ausgewertete Parameter einen oder mehrere der folgenden Parameter aufweist: Gesamtfläche des Bildes im Rechteck; Höhe dieses Bildes, Breite dieses Bildes, Position des Schwerpunktes des Bildes.
7. Optisches Leseverfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der beim Schritt f ausgewertete Parameter ein Ähnlichkeitskoeffizient zwischen dem im Rechteck enthaltenen Bild und dem theoretischen Bild eines Strichcode-Striches ist, wobei dieser Koeffizient eine Funktion einer oder mehrerer der folgenden Größen ist: Gesamtfläche des Bildes im Rechteck; Höhe dieses Bildes, Breite dieses Bildes, Position des Schwerpunktes des Bildes.
8. Leseverfahren nach Anspruch 7, dadurch gekennzeichnet, daß der Ähnlichkeitskoeffizient eine Funktion des Mittelwertes der Abweichungen zwischen den betrachteten Größen und Nominalwerten dieser Größen ist.
DE8888402731T 1987-11-06 1988-10-28 Verfahren zum optischen lesen von strichcodes. Expired - Fee Related DE3875451T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8715403A FR2622992B1 (fr) 1987-11-06 1987-11-06 Procede de lecture de codes a barres

Publications (2)

Publication Number Publication Date
DE3875451D1 DE3875451D1 (de) 1992-11-26
DE3875451T2 true DE3875451T2 (de) 1993-04-15

Family

ID=9356559

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8888402731T Expired - Fee Related DE3875451T2 (de) 1987-11-06 1988-10-28 Verfahren zum optischen lesen von strichcodes.

Country Status (6)

Country Link
US (1) US4916298A (de)
EP (1) EP0315515B1 (de)
JP (1) JPH01156885A (de)
KR (1) KR890008720A (de)
DE (1) DE3875451T2 (de)
FR (1) FR2622992B1 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621203A (en) * 1992-09-25 1997-04-15 Symbol Technologies Method and apparatus for reading two-dimensional bar code symbols with an elongated laser line
US5073954A (en) * 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
GB8921435D0 (en) * 1989-09-22 1989-11-08 Bank Of England Sensor system for document sorting machines
US4992650A (en) * 1990-03-29 1991-02-12 International Business Machines Corporation Method and apparatus for barcode recognition in a digital image
FR2660462B1 (fr) * 1990-03-30 1992-07-31 Ixea Procede et dispositif de lecture de codes invisibles.
JPH0415774A (ja) * 1990-05-02 1992-01-21 Eastman Kodak Japan Kk バーコードリーダ
US5369264A (en) * 1990-09-28 1994-11-29 Symbol Technologies, Inc. Reading bar codes with a wide laser beam
US5742038A (en) * 1990-09-28 1998-04-21 Symbol Technologies, Inc. Beam shaping for optical scanners
US5194720A (en) * 1991-04-25 1993-03-16 Eastman Kodak Company Method and apparatus for performing on-line integrated decoding and evaluation of bar code data
US5859417A (en) * 1991-06-14 1999-01-12 Symbol Technologies, Inc. Optical scanners having dual surface optical elements for dual working ranges
US6948662B2 (en) 1991-07-25 2005-09-27 Symbol Technologies, Inc. Two-dimensional optical code scanner with scanning pattern having region of greater apparent brightness for assisting alignment of scanning pattern
US6382513B1 (en) 1991-07-25 2002-05-07 Symbol Technologies, Inc. Optical scanner with segmented collection mirror
US5199084A (en) * 1991-08-16 1993-03-30 International Business Machines Corporation Apparatus and method for locating characters on a label
US5329105A (en) * 1992-08-10 1994-07-12 United Parcel Service Of America, Inc. Method and apparatus for determining the width of elements of bar code symbols
EP0584559A3 (en) * 1992-08-21 1994-06-22 United Parcel Service Inc Method and apparatus for finding areas of interest in images
US5389770A (en) * 1993-01-22 1995-02-14 Intermec Corporation Method and apparatus for decoding unresolved bar code profiles
US5486689A (en) * 1993-01-22 1996-01-23 Intermec Corporation Method and apparatus for decoding unresolved multi-width bar code symbology profiles
US5352878A (en) * 1993-01-29 1994-10-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
GB2296120A (en) * 1994-12-13 1996-06-19 Ibm Barcode decoding
US5514858A (en) * 1995-02-10 1996-05-07 Intermec Corporation Method and apparatus for decoding unresolved complex multi-width bar code symbology profiles
CA2170934C (en) 1995-03-17 2007-06-19 Paul Dvorkis Optical scanners having dual surface optical elements for dual working ranges
GB9507098D0 (en) * 1995-04-06 1995-05-31 Rolls Royce Plc Process and apparatus for reading a dot matrix code marking of an article
US5821520A (en) * 1995-04-28 1998-10-13 Symbol Technologies, Inc. Bar code scanning system with the pre-decoding signal processing and method for bar code candidate selection for decoding
US5619027A (en) * 1995-05-04 1997-04-08 Intermec Corporation Single width bar code symbology with full character set utilizing robust start/stop characters and error detection scheme
US6029893A (en) * 1995-05-22 2000-02-29 Symbol Technologies, Inc. Optical scanner having a reflected light collector including holographic optical elements
US5539191A (en) * 1995-06-22 1996-07-23 Intermec Corporation Method and apparatus for decoding unresolved bar code profiles using edge finding circuitry
US5777309A (en) * 1995-10-30 1998-07-07 Intermec Corporation Method and apparatus for locating and decoding machine-readable symbols
US5786583A (en) * 1996-02-16 1998-07-28 Intermec Corporation Method and apparatus for locating and decoding machine-readable symbols
US5742041A (en) * 1996-05-29 1998-04-21 Intermec Corporation Method and apparatus for locating and decoding machine-readable symbols, including data matrix symbols
US6064763A (en) * 1996-07-26 2000-05-16 Intermec Ip Corporation Time-efficient method of analyzing imaged input data to locate two-dimensional machine-readable symbols or other linear images therein
GB2317007B (en) * 1996-09-04 2000-07-26 Spectrum Tech Ltd Contrast determining apparatus and methods
US5877486A (en) * 1996-10-11 1999-03-02 Intermec Ip Corp. Method and apparatus for enhancing resolution of reflectance signals produced from machine-readable symbols
US5798513A (en) * 1996-12-03 1998-08-25 Intermec Corporation Method and apparatus for decoding unresolved profiles produced from relief formed symbols
US5902987A (en) * 1997-02-20 1999-05-11 Intermec Ip Corporation Apparatus and method of rapidly locating edges of machine-readable symbols or other linear images
US6097839A (en) * 1997-03-10 2000-08-01 Intermec Ip Corporation Method and apparatus for automatic discriminating and locating patterns such as finder patterns, or portions thereof, in machine-readable symbols
US6128414A (en) * 1997-09-29 2000-10-03 Intermec Ip Corporation Non-linear image processing and automatic discriminating method and apparatus for images such as images of machine-readable symbols
DE19843688C2 (de) * 1998-09-24 2003-04-24 Wst Steuerungstechnik Gmbh Verfahren zum Lesen eines Barcodes
FR2803067A1 (fr) 1999-12-23 2001-06-29 Intermec Scanner Technology Ct Dispositif optoelectronique et procede d'acquisition de codes a l'aide d'un capteur bidimensionnel de dimension utile optimisee
CN1472704A (zh) * 2003-06-27 2004-02-04 上海龙贝信息科技有限公司 二维条形码数字图像信息的增强方法
DE102004018404B4 (de) * 2004-04-16 2015-06-25 Leuze Electronic Gmbh & Co. Kg Optoelektronische Vorrichtung
WO2008086498A2 (en) * 2007-01-11 2008-07-17 Datalogic Scanning, Inc. Methods and systems for optical code reading using virtual scan lines
DE102009008893B4 (de) * 2009-02-13 2010-12-23 Leuze Electronic Gmbh + Co. Kg Optischer Sensor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS586982B2 (ja) * 1976-08-18 1983-02-07 株式会社デンソー バ−コ−ド読取方法および装置
JPS5534704A (en) * 1978-08-31 1980-03-11 Hajime Sangyo Kk Threshold setting circuit
US4323772A (en) * 1980-03-06 1982-04-06 R. J. Reynolds Tobacco Company Bar code reader system
JPH0632072B2 (ja) * 1984-02-09 1994-04-27 日本電気株式会社 多値パタ−ン信号のスライス回路

Also Published As

Publication number Publication date
EP0315515B1 (de) 1992-10-21
JPH01156885A (ja) 1989-06-20
KR890008720A (ko) 1989-07-12
EP0315515A1 (de) 1989-05-10
US4916298A (en) 1990-04-10
FR2622992B1 (fr) 1990-02-09
FR2622992A1 (fr) 1989-05-12
DE3875451D1 (de) 1992-11-26

Similar Documents

Publication Publication Date Title
DE3875451T2 (de) Verfahren zum optischen lesen von strichcodes.
DE3633743C2 (de)
DE68915950T2 (de) Verfahren zum Trennen von Zeichen.
EP0409310B1 (de) Verfahren sowie Anordnung zum Bestimmen von Kanten in Bildern
EP0131676B1 (de) Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
DE3689416T2 (de) Mustermerkmalextraktion.
DE2228526C3 (de) Verfahren und Anordnung zum Lesen und Decodieren von Strichmarken-Gruppen, die Daten in codierter Form darstellen
DE2215088A1 (de) Verfahren und anordnung zur zeichenerkennung
DE3322443C2 (de)
DE2914509A1 (de) Verfahren und vorrichtung zum ablesen eines eine information in form eines balkenkode tragenden informationstraegers
DE3305710A1 (de) Schaltungsanordnung zur merkmalsgewinnung
DE2540101A1 (de) Automatisches zeichenerkennungs- system
EP0402868B1 (de) Verfahren zur Erkennung von vorab lokalisierten, in digitalen Grauwertbildern vorliegenden Zeichen, insbesondere zum Erkennen von in Metalloberflächen eingeschlagenen Zeichen
DE3783974T2 (de) Optischer buchstabenleser.
DE180152T1 (de) Verfahren und einrichtung zum abtasten von strichkoden.
CH692634A5 (de) Nivellierlatte und elektronisches Nivelliergerät.
DE2836725A1 (de) Zeichenerkennungseinheit
DE3239938C2 (de)
DE3243009A1 (de) Verfahren und vorrichtung zum identifizieren von gegenstaenden
DE3026055C2 (de) Schaltungsanordnung zur maschinellen Zeichererkennung
DE2815197A1 (de) Verfahren zum beurteilen von eingelesenen daten bei einem etikettenleser
DE3874093T2 (de) Verfahren zum zaehlen von artikeln, die auf einem foerderband zufaellig verteilt sind.
DE19724711B4 (de) Verfahren und Vorrichtung zum Erkennen und Lesen eines an einem Objekt vorgesehenen Strichcodes
DE2310412C3 (de) Verfahren zum Lesen von Codes und Vorrichtungen zur Durchführung des Verfahrens
EP1139285B1 (de) Verfahren und Vorrichtung zur Prüfung bzw. Untersuchung von Gegenständen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee