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
Links
- 238000000034 method Methods 0.000 title claims description 15
- 239000011159 matrix material Substances 0.000 claims description 34
- 230000003287 optical effect Effects 0.000 claims description 17
- 230000005484 gravity Effects 0.000 claims description 3
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims 3
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims 1
- 238000012545 processing Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002745 absorbent Effects 0.000 description 2
- 239000002250 absorbent Substances 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000976 ink Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/88—Image or video recognition using optical means, e.g. reference filters, holographic masks, frequency domain filters or spatial domain filters
-
- 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/10544—Methods 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/10821—Methods 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/1093—Methods 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
-
- 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/01—Details
- G06K7/016—Synchronisation of sensing process
- G06K7/0166—Synchronisation 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 Input (AREA)
- Character Discrimination (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.
- 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.
- 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.
- 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.
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)
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 | バーコードリーダ |
US5742038A (en) * | 1990-09-28 | 1998-04-21 | Symbol Technologies, Inc. | Beam shaping for optical scanners |
US5369264A (en) * | 1990-09-28 | 1994-11-29 | Symbol Technologies, Inc. | Reading bar codes with a wide laser beam |
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 |
CA2580841C (en) | 1995-03-17 | 2008-08-05 | Symbol Technologies, Inc. | System and method for reading optically encoded information |
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 |
US8091788B2 (en) * | 2007-01-11 | 2012-01-10 | 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)
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 | 日本電気株式会社 | 多値パタ−ン信号のスライス回路 |
-
1987
- 1987-11-06 FR FR8715403A patent/FR2622992B1/fr not_active Expired - Fee Related
-
1988
- 1988-10-28 DE DE8888402731T patent/DE3875451T2/de not_active Expired - Fee Related
- 1988-10-28 EP EP88402731A patent/EP0315515B1/de not_active Expired - Lifetime
- 1988-10-31 US US07/265,230 patent/US4916298A/en not_active Expired - Lifetime
- 1988-11-07 KR KR1019880014633A patent/KR890008720A/ko not_active Application Discontinuation
- 1988-11-07 JP JP63281149A patent/JPH01156885A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
FR2622992B1 (fr) | 1990-02-09 |
FR2622992A1 (fr) | 1989-05-12 |
EP0315515B1 (de) | 1992-10-21 |
EP0315515A1 (de) | 1989-05-10 |
KR890008720A (ko) | 1989-07-12 |
DE3875451D1 (de) | 1992-11-26 |
US4916298A (en) | 1990-04-10 |
JPH01156885A (ja) | 1989-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3875451T2 (de) | Verfahren zum optischen lesen von strichcodes. | |
DE3633743C2 (de) | ||
DE68915950T2 (de) | Verfahren zum Trennen von Zeichen. | |
DE3879254T2 (de) | Unterscheidungsvorrichtung für handgeschriebene und maschinengedruckte Buchstaben. | |
DE69131216T2 (de) | Lagebestimmung von Strichkodierungen | |
EP0409310B1 (de) | Verfahren sowie Anordnung zum Bestimmen von Kanten in Bildern | |
EP0131676B1 (de) | Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben | |
DE69131006T2 (de) | Gerät und Verfahren zur optischen Zeichenerkennung | |
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 | |
CH692634A5 (de) | Nivellierlatte und elektronisches Nivelliergerät. | |
DE69421487T2 (de) | Verfahren zum Vergleichen von Mustern basierend auf der Verwendung von Bildelementmatritzen und Bildelementvektoren | |
DE3239938C2 (de) | ||
DE3243009A1 (de) | Verfahren und vorrichtung zum identifizieren von gegenstaenden | |
DE3026055C2 (de) | Schaltungsanordnung zur maschinellen Zeichererkennung | |
DE2302731A1 (de) | Vorrichtung zur optischen abtastung eines musters und erzeugung eines kodesignals | |
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 |