DE69131006T2 - Gerät und Verfahren zur optischen Zeichenerkennung - Google Patents

Gerät und Verfahren zur optischen Zeichenerkennung

Info

Publication number
DE69131006T2
DE69131006T2 DE69131006T DE69131006T DE69131006T2 DE 69131006 T2 DE69131006 T2 DE 69131006T2 DE 69131006 T DE69131006 T DE 69131006T DE 69131006 T DE69131006 T DE 69131006T DE 69131006 T2 DE69131006 T2 DE 69131006T2
Authority
DE
Germany
Prior art keywords
character
window
mismatch
pattern
values
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
DE69131006T
Other languages
English (en)
Other versions
DE69131006D1 (de
Inventor
Dennis W. Golem
Raymond L. Higgens
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.)
NCR International Inc
Original Assignee
NCR International Inc
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 NCR International Inc filed Critical NCR International Inc
Publication of DE69131006D1 publication Critical patent/DE69131006D1/de
Application granted granted Critical
Publication of DE69131006T2 publication Critical patent/DE69131006T2/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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zur optischen Zeichenerkennung und insbesondere, jedoch nicht ausschließlich, auf die optische Abtastung und Erkennung alphanumerischer Zeichen wie z. B. der Schriftarten E13B, OCRA, OCRB und Farington 7B.
  • Die Zeichensätze E13B, OCRA, OCRB und Farington 7B haben in den Vereinigten Staaten und anderswo breite Anwendung bei Dokumenten über Finanzgeschäfte erlangt. Im allgemeinen sind die Zeichen auf Dokumenten wie Bankwechseln, Schecks und anderen Finanzurkunden aufgezeichnet. Schriften des Typs E13B sind gewöhnlich in MICR-Form (Zeichenaufzeichnung mit magnetischer Tinte) geschrieben, um mittels eines magnetischen Scanners abgetastet zu werden.
  • Manchmal wird eine Vidiconkamera verwendet, um das Dokument abzutasten und sein Bild für Archiv- und Beweiszwecke aufzuzeichnen, während in einer gesonderten Operation ein magnetisches Abtastersystem benutzt wird, um die mit magnetischer Tinte geschriebenen Zeichen (z. B. E13B-Zeichen) zu lesen. Die Notwendigkeit zweier getrennter Abtastersysteme zur Durchführung zweier gesonderter Operationen ist ein teures, zeitraubendes Problem. Ferner ist die Hardware zur Verarbeitung von Zeichensätzen des Typs E13B, OCRA, OCRB und Farrington 7B häufig kompliziert und teuer und benötigt unangemessen viel Zeit bei der Durchführung der Zeichenerkennung. Auch binärisiert diese Hardware das gesamte Bild, wodurch Rauschen in das binarisierte Bild eingeführt und Verluste von Bilddaten verursacht werden, was den Erkennungsprozeß noch schwieriger macht.
  • Die US-Patente 4 466 121 und 4 850 026 offenbaren Vorrichtungen zur optischen Zeichenerkennung, in denen ein binäres Muster aus Graustufenwerten erzeugt wird, die einer aus einer Vielzahl von Zeichenkonfigurationen bestehenden Lesezeile entsprechen, woraufhin einzelne Abschnitte des Binärmusters mit dem Inhalt eines Speichers verglichen werden, um so die Zeichenidentifizierung durchzuführen. Eine derartige Vorrichtung hat jedoch den Nachteil, daß ihr Betrieb leicht durch Rauschsignale gestört wird, die bei ihrem Betrieb entstehen. Diese Vorrichtung kann auch nicht ohne weiteres zur Identifizierung einer Vielzahl von Teilen verwendet werden und ist in nachteiliger Weise hinsichtlich ihrer Bildverarbeitungszeit eingeschränkt.
  • Die US-A-4 742 556 offenbart ein Verfahren zur Zeichenerkennung, das ein manuelles Eingreifen mittels eines benutzerbetätigten Steuerknüppels erfordert, im Bemühen, das Zeichen für den nachfolgenden Erkennungsprozeß in einem Suchfenster zu lokalisieren. Der Erkennungsprozeß läuft ohne Rücksicht darauf, ob das lokalisierte Zeichen in Wirklichkeit Rauschen darstellt. Ferner offenbart die US-A-4 466 121 ein Verfahren und eine Vorrichtung zur Zeichensegmentierung und anschließende Erkennung, wobei im Bemühen, das Zeichen für den nachfolgenden Erkennungsprozeß in passender Weise zu lokalisieren, Graustufenwerte pro Spalte von Bildelementen summiert werden.
  • Somit sucht die vorliegende Erfindung, für eine Vorrichtung und ein Verfahren zur Bildabtastung und Zeichenerkennung zu sorgen, mit denen die oben erwähnte Notwendigkeit zweier Systeme mit zwei Betriebsarten vermieden wird und außerdem Rauscherscheinungen und Bildverarbeitungszeit beträchtlich vermindert werden.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird eine Vorrichtung zur optischen Zeichenerkennung vorgesehen, enthaltend eine Abtasteinrichtung zum optischen Abtasten eines auf einem Dokument geschriebenen alphanumerischen Zeichens, wobei das Zeichen und das Dokument unterschiedliche Opazitäten haben, und zum Erzeugen einer Vielzahl von Pixel-Graustufen werten entsprechend diesen Opazitäten, eine Speichereinrichtung, die angeordnet ist zur Speicherung der Graustufenwerte gemeinsam mit einem Programm und einer Vielzahl vorbestimmter Binärmuster, von denen eines das Zeichen darstellt, und eine mit der Abtasteinrichtung und mit der Speichereinrichtung gekoppelte Verarbeitungseinrichtung, die unter Steuerung durch das Programm arbeitet und dazu ausgelegt ist, ein Fenster zu erzeugen, das einen Bereich einer Matrix von Werten umgibt, die das Zeichen darstellen, und die Summe von Graustufenwerten innerhalb des Fensters zu bestimmen und das Fenster relativ zu dem Bereich und in Richtungen in Ansprache auf Änderungen der Summe der Graustufenwerte zu bewegen, um die Summe maximal zu machen und so das Zeichen zentral innerhalb des Fensters zu plazieren, wobei die Verarbeitungseinrichtung ferner die Matrix von Werten in Binärdaten umwandelt und aus der Vielzahl vorbestimmter Binärmuster ein Muster auswählt, welches auf die umgewandelten Binärdaten paßt, wobei das passende Muster zur Identifizierung des Zeichens dient.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird zur optischen Identifizierung eines Zeichens auf einem Dokument ein Verfahren vorgesehen, enthaltend: optisches Abtasten des alphanumerischen Zeichens, um eine Vielzahl von Pixel- Graustufenwerten zu erzeugen; Speichern der Graustufenwerte gemeinsam mit einem Programm und der Vielzahl vorbestimmter Binärmuster, von denen eines das Zeichen darstellt, und Verarbeiten der gespeicherten Daten unter Steuerung durch das gespeicherte Programm, um ein Fenster zu erzeugen, das einen Bereich einer Matrix von das Zeichen darstellenden Werten umgibt, und Bestimmen der Summe von Graustufenwerten innerhalb des Fensters und Bewegen des Fensters relativ zu dem Bereich und in Richtungen in Ansprache auf Änderungen der Summe der Graustufenwerte, um die Summe maximal zu machen und so das Zeichen zentral innerhalb des Fensters zu plazieren, und Umwandeln der Matrix von Werten in Binärdaten und Auswählen eines auf die umgewandelten Binärdaten passenden Musters aus der Vielzahl vorbestimmter Binärmuster, wobei das passende Muster zur Identifizierung des Zeichens dient.
  • Die Erfindung lokalisiert in vorteilhafter Weise Zeichen und sondert sie aus dem Graufstufenbild und binärisiert die lokalisierten Zeichen zur anschließenden Erkennung, anstatt das gesamte Bild zur Erkennung von Zeichen zu binärisieren, wie es beim Stand der Technik erfolgt. Während also die Binärisierung des gesamten Bildes gemäß dem Stand der Technik ein ungebührliches Maß an Fehlern (Rauschen) in die abgetasteten Daten einführt, reduzieren die Vorrichtung und das Verfahren der vorliegenden Erfindung solche Fehler durch Verwendung von Graustufenwerten beim Prozeß der Zeichensegmentierung und gestatten eine beträchtliche Reduzierung der Bildverarbeitungszeit. Ferner ist das System in vorteilhafter Weise fähig, verschiedene Schriftarten zu erkennen (d. h. verschiedene Zeichen in verschiedenen Auflösungen), lediglich durch Speicherung binärer Muster oder Schablonentabellen für die jeweilige Schriftart.
  • Beim Lokalisieren eines Zeichens (d. h. der das Zeichen darstellenden Graustufen-Pixelwerte) zur Verarbeitung, kann die Vorrichtung ein Fenster über ausgewählte Pixelwerte des Zeichens derart positionieren (und hiermit das Zeichen abstecken), daß die Summe der ausgewählten Pixelwerte innerhalb des Fensters ein Maximum ist. Die Vorrichtung bestimmt dann das arithmetische Mittel der dunklen Pixel innerhalb des Fensters, indem sie das arithmetische Mittel vorgewählter Exemplare der ausgewählten Pixelwerte bestimmt. Die vorgewählten Exemplare stellen Pixelwerte oberhalb einer vorbestimmten Schwelle dar, die vorbestimmte Schwelle stellt einen Wert dar, der größer ist als der Hintergrundwert des Zeichens, welcher durch Vorabtastung des Zeichens bestimmt wird. Die Vorrichtung kann dann die ausgewählten Pixelwerte in binäre Daten in Bezug auf den genannten Mittelwert umwandeln (d. h. Umwandlung in Eins oder Null, abhängig davon, ob der Betrag jedes ausgewählten Pixelwertes kleiner ist als der genannte Mittelwert oder größer als oder gleich dem Mittelwert ist). Die binären Daten können dann mit jedem der vorbestimmten Binärmuster logisch verglichen werden, bis ein darauf passendes Muster gefunden ist, welches das Zeichen am besten identifiziert. So repräsentieren die vorbestimmten Binärmuster binäre Schablonen, wobei jedes Muster (Schablone) drei Bitkonfigurationen (Ebenen) hat, nämlich eine erste Bitkonfiguration, welche das eigentliche Bitmuster des Zeichens darstellt, eine zweite Bitkonfiguration, welche die Signifikanz der Bits des eigentlichen Bitmusters darstellt, und eine dritte Bitkonfiguration, welche gewichtete Werte für die Bits des eigentlichen Bitmusters darstellt. Der Grad der logischen Vergleichbarkeit der umgewandelten Binärdaten mit jeder der drei Bitkonfigurationen eines jeden der vorbestimmten Bitmuster wird in Form von Nichtübereinstimmungs-Wörtern ausgedrückt, aus denen Nichtübereinstimmungs-Zählwerte errechnet werden. Die Nichtübereinstimmungs-Zählwerte können dann mit mindestens einem vorbestimmten Schwellenwert verglichen werden, und der niedrigste Nichtübereinstimmungszählwert, der unterhalb des Schwellenwertes liegt (kleiner ist als dieser), wird als repräsentativ für das Zeichen ausgewählt.
  • Die Erfindung wird nachstehend, lediglich in Form von Beispielen, anhand der beigefügten Zeichnungen beschrieben, in denen:
  • Fig. 1 ein Blockdiagramm einer die vorliegende Erfindung verkörpernden Vorrichtung zeigt;
  • Fig. 2 das Erscheinungsbild eines Zeichens zeigt, das mit der Vorrichtung nach Fig. 1 abtastbar und identifizierbar ist;
  • Fig. 3 einen Teil eines Dokumentes zeigt, auf dem verschiedene Zeichen geschrieben sind;
  • Fig. 4 ein abgetastetes Zeichen zeigt, das eine Matrix aus Pixeln verschiedener Opazitäten (Graustufenwerte) hat;
  • Fig. 5 ein zum Abstecken eines Zeichens verwendetes Fenster zeigt;
  • Fig. 6 das Fenster nach Fig. 5 in seiner Anwendung beim Abstecken des Zeichens nach Fig. 4 zeigt;
  • Fig. 7 ein Blockdiagramm ist, das die Ergebnisse verschiedener logischer Operationen an Binärdaten zeigt, die das abgetastete Zeichen darstellen;
  • Fig. 8 ein Blockdiagramm einer Matrix zeigt, die verschiedene Teile des Bildes eines abgesteckten Zeichens darstellt, und
  • Fig. 9 eine graphisch/tabellarische Darstellung einer Schablone und zugehöriger Binärwerte ist, wie sie vom System nach Fig. 1 verwendet werden.
  • Die Fig. 1 zeigt ein System (Vorrichtung) 11, das die vorliegende Erfindung verkörpert. Das System enthält einen optischen Leser oder Abtaster 13 zum Abtasten eines Dokumentes 19 und ein Computersystem 21 zum Verarbeiten von Daten, die vom Abtaster 13 her empfangen werden. Der Abtaster kann eine Kamera mit einem CCD (ladungsgekoppeltes Bauelement) 15 und eine Steuereinrichtung 17 sein. Das Dokument 19 kann ein Bankwechsel oder Scheck sein, auf dem Ziffernzeichen oder andere alphanumerische Symbolen 20 geschrieben sind. Das Computersystem 21 enthält einen Mikroprozessor 23, ein ROM (Nur-Lese-Speicher) 25 mit einem Aufstartprogramm und ein RAM (Direktzugriffsspeicher) 27 mit einem gespeicherten Programm, um Daten aus der Abtasteinrichtung und aus dem Mikroprozessor zu speichern und um vordefinierte Daten zu speichern.
  • Der Abtastvorgang beginnt an der unteren rechten Ecke 33 des Dokumentes 19 und endet an der oberen linken Ecke 35. Der Abtaster 13 tastet das Dokument 19 in Vertikalrichtung von unten nach oben ab, wie mit dem Pfeil 37 gezeigt, zuerst entlang der am weitesten rechts liegenden virtuellen Abtastzeile 39, dann wieder von unten nach oben entlang der zweitrechtesten virtuellen Abtastzeile 41, usw., bis die obere linke Ecke des Dokumentes erreicht ist. Die virtuellen Abtastzeilen laufen einander parallel. Das Dokument 19 wird kontinuierlich von links nach rechts bewegt, wie mit dem Pfeil 43 gezeigt, während der Abtaster entlang aufeinanderfolgenden Abtastzeilen abtastet, wobei die Breite jeder Abtastzeile dem Durchmesser eines Pixels (ungefähr 0,0127 cm) entspricht.
  • Ein Beispiel einer Lesezeile eines Dokumentes ist in Fig. 3 gezeigt. Wenn ein Dokument abgetastet wird, werden die Pixelwerte, die vom Abtaster zur Darstellung des Dokumentes mit den darauf befindlichen Zeichen erzeugt werden, im Speicher 27 gespeichert (Fig. 1). Die Zeichen werden jeweils als eine Datenaufstellung (Matrix) gespeichert, die z. B. typischerweise einhundert Reihen entsprechend der Höhe der Lesezeile und zwölfhundert Spalten entsprechend der Länge des Dokumentes hat; zwölfhundert ist die typische Anzahl von Spalten in einem 6 Zoll (15,24 cm) messenden Dokument mit 200 Pixeln pro Zoll (2,54 cm). Innerhalb der Datenmatrix wird ein Zeichen (wenn eines in der unten beschriebenen Weise lokalisiert und segmentiert ist) durch eine Matrix von Reihen (z. B. einundzwanzig, entsprechend der Höhe des Zeichens) und Spalten (z. B. vierzehn, entsprechend der Breite des Zeichens) dargestellt. Das in Fig. 2 gezeigte Zeichen "drei" beispielsweise kann in Pixelmatrixform dargestellt werden, wie es in Fig. 4 abgebildet ist. Jedes Pixel 49 stellt einen Teil des Dokumentes dar und hat einen Opazitätsindex oder Graustufenwert im Bereich 0- 255. Die dunklen Pixel haben im allgemeinen einen höheren Graustufenwert (nahekommend dem Wert 255), und die hellen Pixel haben im allgemeinen einen geringeren Graustufenwert (nahekommend dem Wert 0). Da Zeichen normalerweise in einer dunklen Farbe im Vergleich zum allgemein hellfarbigen Hintergrund des Dokumentes gedruckt sind, ist der Opazitätsunterschied zwischen den Zeichen und seinem Hintergrund leicht feststellbar.
  • Wie oben angedeutet, werden diese Graustufen-Datenwerte vom Abtaster beim Abtasten des Dokumentes erzeugt. Die erzeugten Daten werden dann im Speicher 27 (Fig. 1) gespeichert, um vom System 21 verarbeitet zu werden. Unter Steuerung durch das gespeicherte Programm prüft das System die gespeicherten Datenwerte und schreitet zur Lokalisierung eines ersten und dann nachfolgender Zeichen eines ersten Feldes, dann anderer Zeichen nachfolgender Felder. Nach Lokalisierung eines Zeichens schreitet das System zum Abstecken oder Eingrenzen des Zeichens (d. h. zum Sondern oder Segmentieren des Zeichens von anderen Zeichen). Beginnend mit den gespeicherten Graustufen- Datenwerten, die erhalten wurden durch Abtasten des Dokumentes von unten nach oben entlang der rechtesten Abtastzeile 39 (Fig. 1 und 2) und dann von unten nach oben entlang der zweitrechtesten Abtastzeile 41, usw., lokalisiert das System jedes der Zeichen und steckt es ab (Segmentierung), wie weiter unten beschrieben. Es tut dies, indem es zuerst die gespeicherten Daten vertikal von unten nach oben entlang der Abtastzeile absucht nach einem Anstieg im Graustufenwert, der einen Übergang von einem hellen Pixel zu einem dunklen Pixel darstellt. Wenn zwischen zwei Graustufenwerten benachbarter Pixel in der Abtastrichtung 37 ein Anstieg von z. B. mehr als vierzig gefunden wird (der jeweilige Wert wie z. B. vierzig ist abhängig von der Schriftart), dann wird dies als Auffinden eines dunklen Pixels angesehen. Die Zone (des Dokumentes), die dem dunklen Pixel naheliegt, wird angesehen als eine Zone, wo wahrscheinlich ein Zeichen zu finden ist. Wenn ein dunkles Pixel gefunden ist, prüft das System die Zeichenzone (d. h. es prüft die gespeicherten Daten in der Nähe des dunklen Pixelwertes), um festzustellen, ob das dunkle Pixel Teil eines Zeichens ist. Die Prüfung auf Vorhandensein eines Zeichens erfolgt durch Einrichten eines Segmentierungsfensters genügender Größe, um das Zeichen auf dem Dokument wirksam abzustecken, wobei die Position des dunklen Pixels der Mitte des Fensters entspricht. Wie in Fig. 5 gezeigt, hat ein Segmentierungsfenster im dargestellten Fall linke und rechte Ränder (Spalten) 55, 57 und obere und untere Ränder (Reihen) 59, 61. Angrenzend an den linken und rechten Rand ist jeweils eine Spalte 63 (links+1) bzw. eine Spalte 65 (rechts-1), und angrenzend an den oberen und den unteren Rand ist jeweils eine Reihe 67 (oben+1) bzw. eine Reihe 69 (unten-1).
  • Wie weiter unten anhand der Fig. 5 und 6 erläutert wird, gilt ein Zeichen als abgesteckt und im Zentrum des Fensters positioniert, wenn die Summe (Sw) aller Pixel-Graustufenwerte im Fenster maximal ist. Um festzustellen, ob sich die Summe (Sw) erhöht, wenn das Fenster bewegt wird, werden die Summen der Pixelwerte in jeder der linken und rechten Spalten 55, 57 und in jeder der daran angrenzenden Spalten 63, 65 berechnet. In ähnlicher Weise werden die Summen der Pixelwerte in jeder der oberen und unteren Reihen 59, 61 und in jeder der an sie angrenzenden Reihen 67, 69 berechnet. Wenn z. B. gefunden wird, daß die Summe in der Spalte 63 größer ist als die Summe in der Spalte 57 und daß sich die Summe (Sw) erhöhen würde, wenn das Fenster 53 um ein Pixel nach links zur Einbeziehung der Spalte 63 und Ausschließung der Spalte 57 bewegt würde, dann wird das Fenster nach links bewegt. In ähnlicher Weise wird, wenn durch Bewegung des Fensters um ein Pixel nach oben zur Einbeziehung der Reihe 67 und Ausschließung der Reihe 61 die Summe (Sw) im Fenster größer würde, das Fenster nach oben bewegt. So kann aus der Summe (kumulativer Zählwert) der Pixelwerte der neben dem Fenster liegenden (angrenzenden) Reihen und Spalten relativ zur Summe der Pixelwerte der zugeordneten Reihen und Spalten an den Rändern des Fensters festgestellt werden, in welcher Richtung das Fenster bewegt werden kann, um die Summe (Sw) der Pixelwerte innerhalb des Fensters zu erhöhen. Wie in Fig. 6 gezeigt, wird entsprechend den nachstehenden Zählwerten
  • Zählwert für die Spalte rechts-1 = 0
  • Zählwert für die rechte Spalte = 0
  • Zählwert für die linke Spalte = 100
  • Zählwert für die Spalte links+1 = 100
  • Zählwert für die Reihe unten-1 = 0
  • Zählwert für die unterste Reihe = 0
  • Zählwert für die oberste Reihe = 170
  • Zählwert für die Reihe oben+1 = 170
  • der Fensterzählwert um 100 erhöht, wenn eine Bewegung nach links erfolgt, und um 170 erhöht, wenn eine Bewegung nach oben erfolgt. Deswegen wird das Fenster nach links und nach oben bewegt. Das Fenster wird also in derjenigen Richtung bewegt, bei welcher Sw höher wird, und dieser Vorgang wird wiederholt, bis keine Bewegung des Fenster in irgendeiner der vier Richtungen (links, rechts, aufwärts, abwärts) den Wert Sw erhöht. Dies wird angesehen als der Zustand, daß das Fenster ein Zeichen abgesteckt (eingegrenzt/segmentiert) hat und das Zeichen dabei in der Mitte des Fensters positioniert ist. So wird mittels des Fensters eine das Zeichen am besten darstellende Matrix von Pixelwerten ausgewählt (abgesteckt).
  • Als Prüfung für die Feststellung, ob im Fenster genug Information (Graustufenwerte dunkler Pixel) für die Darstellung des abgesteckten Zeichens vorhanden ist, wird die Gesamtanzahl von Pixeln im Fenster ermittelt, die einen vorbestimmten Bestätigungs-Schwellenwert überschreiten (z. B. einen Graustufen- Schwellenwert von 100). Wenn die Gesamtanzahl z. B. größer als sechzig ist (für die Schriftart E13B), dann wird das Auffinden eines Zeichens im Fenster bestätigt. Andernfalls wird das im Fenster abgesteckte Objekt als Rauschen interpretiert, und das System schreitet zum Auffinden des nächsten Zeichens.
  • Nach dem Segmentieren wird das segmentierte (abgesteckte) Zeichen in Vorbereitung der Identifizierung (Erkennung) skaliert. Beim Erkennungsprozeß werden 16-Bit-Wörter verwendet (d. h. die Breite einer Schablone beträgt 16 Pixel). Da viele Zeichen breiter als 16 Pixel sind (auch E13B-Zeichen, die 19 Pixel breit sind), werden sie nach dem Segmentieren auf 16 Bits konvertiert. Dies geschieht durch Eliminierung vorbestimmter Spalten, so werden z. B. für die Schriftart E13B die Spalten 4, 9 und 14 eliminiert. (OCRA- und OCRB-Schriftarten sind 16 Pixel breit, wenn sie mit zweihundert Pixel pro Zoll (2,54 cm) abgetastet sind, bei ihnen brauchen also keine Spalten eliminiert zu werden.)
  • Vorstehend wurde beschrieben, wie ein Zeichen in Vorbereitung der Verarbeitung lokalisiert wird, d. h. wie es auf einem Dokument effektiv ausgemacht und für die spätere Verarbeitung abgesteckt (segmentiert) wird. Nachstehend wird beschrieben, wie das abgesteckte Zeichen in Binärform umgewandelt und dann mit einer Schablone (vorbestimmtes Binärmuster) zum Zwecke der Identifizierung (Klassifizierung/Erkennung) des Zeichens gepaart wird.
  • Beim Umwandlungsvorgang werden die gespeicherten Pixel- Graustufenwerte für jede Reihe des abgesteckten Zeichens in Binärform umgewandelt. Zuerst wird ein Referenzschwellenwert als arithmetisches Mittel der dunklen Pixel des abgesteckten Zeichens berechnet (wie oben beschrieben). Dann werden die Pixel-Graustufenwerte in Binärform bezüglich der Referenzschwelle umgewandelt. Wenn beispielsweise die berechnete Referenzschwelle einhundert ist, dann wird unter Verwendung der nachstehenden Binäräquivalenz-Skala
  • Pixel-Graustufenwert Binäres Äquivalent
  • ≥ 100 1 (schwarz)
  • < 100 0 (weiß)
  • eine Reihe mit den Graustufenwerten 80, 120, 130, 90, 85, 70, 110, 135 in eine Binärinformation mit dem Bitmuster 01100011 umgewandelt, wie im 8-Bit-Wort 71 der Fig. 7 gezeigt.
  • Diese Binärdaten (die eine Reihe oder Schnitte des abgesteckten Zeichens darstellen) und weitere Reihen umgewandelter Binärdaten, die insgesamt das Zeichen darstellen, werden dann mit einer Vielzahl von Schablonen verglichen, deren jede einem Zeichen entspricht. Jede Schablone stellt ein vorbestimmtes Muster von Binärdaten dar und besteht aus drei verschiedenen Ebenen (Bitkonfigurationen). Die in Fig. 7 gezeigten drei 8- Bit-Wörter 73, 75, 77 stellen eine 8-Bit-Reihe in jeder der drei Ebenen dar. Die erste Ebene (Bitmusterebene, entsprechend dem Musterwort 73) stellt das eigentliche Schwarz/Weiß- Bitmuster (0/1-Bitmuster) des Zeichens dar. Die zweite Ebene (Bitsignifikanzebene, entsprechend dem Bitsignifikanzwort 75) macht diejenigen Bitpositionen des Zeichens kenntlich, die signifikant sind, und diejenigen, die nicht signifikant sind. Bits mit dem Wert 1 identifizieren signifikante Bitpositionen, wo das Bitmuster des Zeichens der Erwartung nach, ungeachtet kleiner Änderungen in Größe und Form des Zeichens, unverändert bleibt. Bits mit dem Wert 0 identifizieren nicht-signifikante Bitpositionen, wo das Bitmuster bei verschiedenen Größen oder Formen des Zeichens nicht dasselbe sein muß. Die dritte Ebene (Bitgewichtungsebene, entsprechend dem Gewichtungswort 77) macht kenntlich, welche Bits kritisch für die Unterscheidung zwischen ähnlichen (im wesentlichen gleichen) Zeichen sind und deswegen größeres Gewicht als andere Bits haben. In dieser dritten Ebene sind 1-Bits als Bits mit Gewicht bestimmt, und 0-Bits sind als Bits ohne Gewicht bestimmt. Beispielsweise wären 1-Bits in der obersten Reihe der dritten Ebene der Schablone für die Zeichen "0" und "U" nützlich zum Unterscheiden zwischen diesen beiden Zeichen, und 1-Bits in der untersten Reihe der dritten Ebene der Schablonen für die Zeichen "Q" und "0" wären nützlich zum Unterscheiden zwischen dem Q und dem O.
  • Wie in Fig. 7 gezeigt, werden an den Binärdaten 71 verschiedene logische Operationen vom Prozessor 23 (Fig. 1) durchgeführt, um das Zeichen zu identifizieren. Die logischen Operationen werden in Wirklichkeit als 16-Bit-Operationen durchgeführt. Aus Einfachheitsgründen sind jedoch 8-Bit-Operationen gezeigt. Als erstes erfahren die Binärdaten eine Exklusiv- ODER-Verknüpfung mit dem entsprechenden Wort 73 der Bitmusterebene, um ein Muster 74 der Nichtübereinstimmung zwischen den Binärdaten 71 und dem vorbestimmten korrekten Muster 73 zu erzeugen. Dieses Nichtübereinstimmungs-Muster 74 erfährt dann eine logische UND-Verknüpfung mit dem entsprechenden Wort 75 der Bitsignifikanzebene, um ein Nichtübereinstimmungswort 76 zu erzeugen, das den Grad der Nichtübereinstimmung unabhängig von der Zeichengröße und -form darstellt. Das Nichtübereinstimmungswort 76 wird dann gewichtet, d. h. es erfährt eine logische UND-Verknüpfung mit dem entsprechenden Wort 77 in der Bitgewichtungsebene, um einen gewichteten Nichtübereinstimmungs-Indikator 78 zu erzeugen. (Würde das Gewichtungswort 77 keine 1-Bits enthalten, wäre keine Gewichtung oder UND- Verknüpfung durchgeführt worden (um Verarbeitungszeit einzusparen, da das Resultat gleich 0 wäre), und das System wäre zur Verarbeitung der nächsten Reihe von Binärdaten geschritten.)
  • Nach der Gewichtungsoperation wird ein Nichtübereinstimmungs- Zählwert (MCR) für die Reihe der Binärdaten 71 berechnet. Diese Berechnung wird vom Prozessor 23 (Fig. 1) wie folgt durchgeführt:
  • MCR = MCw + (WOC · WF) (1)
  • wobei
  • MCw einen Nichtübereinstimmung-Zählwert für das Nichtübereinstimmungswort darstellt (d. h. die Anzahl von Einsen, die im Nichtübereinstimmungswort 76 gefunden werden),
  • WOC einen Nichtübereinstimmungs-Indikator oder Gewichtungs-Ausgangszählwert darstellt (d. h. die Anzahl von Einsen, die im Nichtübereinstimmungs- Indikatorwort 78 gefunden werden), und
  • WF einen vorbestimmten Gewichtungsfaktor darstellt (z. B. die ganze Zahl 2 für Zeichen der E13B- Schriftart).
  • So läßt sich für das in den Wörtern 76 und 78 der Fig. 7 gezeigte Muster von Nichtübereinstimmungsbits erkennen, daß MCw = 2, WOC = 1 und WF = 2 ist. Daher wäre der für die Reihe der Binärdaten 71 berechnete Nichtübereinstimmungs-Zählwert (MCR) gleich vier (d. h. 2+(1·2) entsprechend der obigen Gleichung 1).
  • Nach Berechnung des Nichtübereinstimmungs-Zählwertes für eine Reihe fährt das System fort, um in der oben beschriebenen Weise die Nichtübereinstimmungs-Zählwerte für alle übrigen Reihen des Zeichens zu berechnen. Die Nichtübereinstimmungs- Zählwerte für alle Reihen des Zeichens werden dann summiert, um einen Schablonen-Nichtübereinstimmungszählwert zu erzeugen (d. h. einen Nichtübereinstimmungszählwert für die auf das abgesteckte Zeichen angewandte Schablone). In einer ähnlichen Weise wird für die anderen Schablonen des Zeichensatzes der gerade verarbeiteten Schriftart jeweils ein Nichtübereinstimmungszählwert bezüglich des abgesteckten Zeichens erzeugt. Sowie die verschiedenen Schablonen verarbeitet sind, werden die beiden niedrigsten Schablonen-Nichtübereinstimmungszählwerte und die Nummern der betreffenden Schablonen im Speicher gespeichert. Das Kriterium für die Identifizierung eines Zeichens ist folgendes: falls die Schablone mit dem niedrigsten Zählwert unterhalb eines Schwellenwertes liegt (eine Zurückweisungsschwelle von 40 für E13B-Schriftarten) und um ein vorbestimmtes Maß (eine Differenzschwelle von 5 für E13B- Schriftarten) niedriger liegt als die zweitniedrigst liegende Schablone, dann identifiziert sie das Zeichen.
  • Die Schablonenerkennung, wie sie vorstehend beschrieben wurde, kann in insgesamt neun Positionen durchgeführt werden, wie in Fig. 8 gezeigt. Dies geschieht, damit Zeichen identifiziert werden, die unter Umständen, infolge von Faktoren wie Rauschen im Bild, nicht perfekt abgesteckt sind. Bei dem in Fig. 8 gezeigten Beispiel haben die Schablone und das Eingangsmuster (Binärdatenmuster) eine Größe von 23 Reihen (Höhe) mal 16 Spalten (Breite). Die drei Ebenen der Schablone (Musterebene, Bitsignifikanzebene und Gewichtungsebene) werden alle um dasselbe Maß und in derselben Richtung verschoben (bewegt). In der nachstehenden Beschreibung von Verschiebungspositionen bezieht sich der Begriff Schablonenreihe gleichermaßen auf die Bitreihe der Musters, die Bitreihe der Signifikanz und die Bitreihe der Gewichtung.
  • In der mittleren Position 87 ist die Schablone 96 direkt über dem Eingangsmuster 98 angeordnet. Bei dieser Paarung werden nur die Reihen 2 bis 22 benutzt. So wird die Schablonenreihe 2 mit der Musterreihe 2 verglichen, und die Schablonenreihe 3 wird mit der Musterreihe 3 verglichen, usw.. Bei den mittleren Horizontalpositionen 81, 87, 93 werden alle Spalten (1 bis 16) benutzt. Bei der oberen Mittelposition 81 werden die Reihen 1 bis 22 der Schablone mit den Reihen 2 bis 23 des Eingangsmusters verglichen. Dies ist dasselbe wie eine Verschiebung des Schablonenmusters um eine Reihe vertikal nach oben 7 In diesem Fall wird die Schablonenreihe 1 mit der Reihe 2 des Eingangsmusters verglichen, die Schablonenreihe 2 wird mit der Reihe 3 des Eingangsmusters verglichen, usw.. Alle Spalten der Schablone und des Eingangsmusters werden in dieser Situation (horizontale Mitte) verglichen. In ähnlicher Weise ist in der unteren Mittelposition 93 die Schablone um eine Reihe nach unten verschoben, so daß die Schablonenreihen 2 bis 23 mit den Reihen 1 bis 22 des Eingangsmusters gepaart sind.
  • Die horizontal verschobenen Positionen entsprechen einer Verschiebung der Schablone 96 nach links oder rechts über das Eingangsmuster 98. In der mittleren Linksposition 85 werden die Spalten 1 bis 15 der Schablone und die Spalten 2 bis 16 des Eingangsmusters verwendet. (Da es sich um eine mittlere Position in Vertikalrichtung handelt, werden sowohl für das Eingangsmuster als auch für die Schablone die Reihen 2 bis 22 verwendet.) So wird das Bit 1 des Schablonenwortes mit dem Bit 2 des Musterwortes verglichen, das Bis 3 des Schablonenwortes wird mit dem Bit 4 des Musterwortes verglichen, usw..
  • Ist beispielsweise das Wort der Musterebene der Schablone:
  • 0011111100001111
  • und ist das Musterwort des eingegebenen Zeichens:
  • 0010111100011110
  • und wird die Schablone um 1 Bit(Spalte) nach links verschoben:
  • 0111111000011110
  • dann wäre das Ergebnis der Exklusiv-ODER-Verknüpfung:
  • 0101000100000000
  • Es sei bemerkt, daß wenn eine Linksverschiebung durchgeführt wird, das am weitesten rechts stehende Bit (Bit niedrigsten Stellenwertes, LSB) gleich 0 ist. Somit ist auch das LSB des Bitsignifikanzwortes gleich 0 (weil alle drei Ebenen in derselben Richtung und um dasselbe Maß verschoben werden), und somit ist das LSB des Nichtübereinstimmungswortes 76 (nach der UND-Verknüpfung mit dem Bitsignifikanzwort) immer gleich 0. In ähnlicher Weise läßt eine Rechtsverschiebung das am weitesten links stehende Bit (Bit höchsten Stellenwertes, MSB) zu 0 werden, und somit ist das MSB des Nichtübereinstimmungswortes 76 (nach der UND-Verknüpfung) immer gleich 0.
  • Eine Horizontalverschiebung nach rechts (Position 89) ist ähnlich wie die Verschiebung nach links, nur in der entgegengesetzten Richtung. Das Bit 2 des Schablonenwortes richtet sich dann aus (wird verglichen) mit dem Bit 1 des Musterwortes der Eingabe.
  • Die Eckenpositionen (Positionen 95, 91, 83, 79) stellen eine Kombination einer Vertikalverschiebung um eine Reihe und einer Horizontalverschiebung um eine Spalte dar. In der oberen Linksposition 79 beispielsweise ist die Schablonenreihe 1 um eine Bitposition nach links verschoben und wird mit dem Musterwort 2 verglichen, und die Schablonenreihe 2 ist um eine Bitposition nach links verschoben und wird mit dem Musterwort 3 verglichen, usw.
  • Um ein Zeichen unter Anwendung dieser Methode zu erkennen, bedarf es neun Durchläufe pro Schablone mal der Anzahl von Schablonen im Zeichensatz. Beispielsweise würde ein alphanumerischer Zeichensatz mit 49 Zeichen die Durchführung von insgesamt 441 (9*49) Paarungen erfordern. Dies kann zu zeitaufwendig sein. Um eine schnellere Zeichenidentifizierung zu fördern, wird zunächst nur die mittige Position jeder Schablone mit dem Eingabemuster verglichen. Die niedrigsten beiden Nichtübereinstimmungs-Zählwerte und die ihnen zugeordneten Schablonennummern werden im Speicher 27 gespeichert, wenn die verschiedenen Schablonen verarbeitet sind. Am Ende dieses ersten Durchlaufs werden die anderen acht Positionen nur dieser beiden Schablonen verarbeitet, um die bestmögliche (d. h. geringste) Gesamt-Nichtübereinstimmung mit dem Eingabemuster zu finden. Somit brauchen gewöhnlich nur 65 (1*49+2*8) Paarungen vorgenommen zu werden (d. h. etwa 15% der ansonsten erforderlichen 441 Paarungen).
  • Nachstehend wird eine Beschreibung der Kriterien für die Annahme oder Zurückweisung eines Zeichens gegeben.
  • Der niedrigste Schablonen-Nichtübereinstimmungszählwert wird verglichen mit einer vorbestimmten Zurückweisungs-Schwelle für das Zeichen, welches die Schablone darstellt. Wenn der Schablonen-Nichtübereinstimmungszählwert für dieses Zeichen unterhalb der besagten Schwelle ist und die Differenz der Schablonen-Nichtübereinstimmungszählwerte für die niedrigsten beiden Schablonen (zweitgeringste Nichtübereinstimmung minus geringste Nichtübereinstimmung) größer ist als ein vorbestimmtes Maß (z. B. 10), dann identifiziert die Schablone mit der geringsten Schablonen-Nichtübereinstimmung das abgesteckte Zeichen. Die Prüfung, ob die Nichtübereinstimmungszählwerte zu dicht beieinander liegen, erfolgt zu dem Zweck einer Unterscheidung zwischen Zeichen, die einander sehr ähnlich sind (z. B. Q und O). Wenn die Nichtübereinstimmungen ähnlich sind, wird das Zeichen zurückgewiesen, anstatt eine Falschidentifizierung (Lesefehler) zu riskieren. Wenn keine Schablonen- Nichtübereinstimmung unterhalb der oben beschriebenen Zurückweisungs-Schwelle liegt oder die beiden Schablonen-Nichtübereinstimmungszählwerte zu nahe beieinander liegen, wird eine Nachverarbeitung (weiter unten beschrieben) durchgeführt. Wenn nach der Nachverarbeitung das abgesteckte Zeichen immer noch zurückgewiesen wird, wird sein Bild verbessert und in Binärform umgewandelt (wie unten beschrieben). Der Erkennungsprozeß (oben beschrieben) wird dann erneut durchgeführt. Ist das Zeichen identifiziert (genügt es den obigen Kriterien), dann schreitet das System zur Verarbeitung (Lokalisierung und Absteckung) des nächsten Zeichens, wie sie oben beschrieben wurde.
  • Wenn man nur die mittigen Positionen untersucht, kann die Möglichkeit übersehen werden, daß ein anderes Zeichen als die beiden nächstkommenden Zeichen einen näherkommenden Zählwert in einer anderen als der mittleren Position hat und die richtige Wahl wäre. Die Nachverarbeitungsoperation kann eine solche Situation in Ordnung bringen. Wenn die zwei gewählten niedrigsten Nichtübereinstimmungszählwerte beide oberhalb der vorbestimmten Zurückweisungs-Schwelle für das besagte eine Zeichen liegen oder wenn die Distanz zwischen ihnen (zweitniedrigste Nichtübereinstimmung - niedrigste Nichtübereinstimmung) zu klein ist, kann eine Anzahl anderer Schablonen in den anderen acht Positionen ausprobiert werden, um zu versuchen, eine bessere Übereinstimmung zu finden. Die Wahl, welche Schablonen zu verarbeiten sind, wird z. B. darauf gestützt, mit welchen Schablonen das Zeichen die nächstkommende Ähnlichkeit hat. Beispielsweise haben die zwei gewählten nächstkommenden Zeichen (diejenigen mit den niedrigsten Nichtübereinstimmungs-Zählwerten), die Buchstaben D und 0, beide Nichtübereinstimmungszählwerte oberhalb ihrer jeweiligen Zurückweisungsschwelle. Bei der Nachbearbeitungsoperation wird eine vorbestimmte Gruppe von Zeichen verarbeitet, die ähnlich mit D und 0 sind. Hierzu könnten die Zeichen 0 (Null), Q, C und U gehören. Die Nichtübereinstimmungszählwerte der beiden nächstkommenden Zeichen nach dieser Operation werden geprüft (dasjenige mit dem niedrigsten Nichtübereinstimmungszählwert wird zuerst geprüft), um festzustellen, ob sie das Zurückweisungskriterium und das Kriterium ihrer gegenseitigen Distanz erfüllen. Wenn mindestens ein Zeichen die Kriterien erfüllt, wird als Ergebnis dieses Zeichen rückgemeldet, und es geht weiter mit der Verarbeitung (Lokalisierung und Absteckung) des nächsten Zeichens im Bild.
  • Wenn keines der obigen Zeichen die Zurückweisungskriterien erfüllt oder wenn die Distanz zwischen den Zeichen zu klein ist, wird das abgesteckte Zeichen zurückgewiesen. In diesem Fall wird sein Bild verbessert (wie unten beschrieben), das Zeichen wird neu binärisiert, und der oben beschriebene Erkennungsprozeß wird ein zweites Mal wiederholt. Wenn das Zeichen erkannt wird, wird es rückgemeldet. Andernfalls wird als Ergebnis ein Zeichenzurückweisungscode rückgemeldet, und es geht weiter mit der Verarbeitung (Lokalisierung und Absteckung) des nächsten Zeichens aus dem Dokument.
  • Zusätzlich zu der oben beschriebenen Zurückweisungsschwelle kann bei dem oben beschriebenen Zeichenidentifizierungsprozeß auch eine Ausstiegsschwelle (z. B. der Wert 10) verwendet werden. Um die Verarbeitungsgeschwindigkeit zu steigern, werden aufeinanderfolgende Schablonen-Nichtübereinstimmungszählwerte mit dem Ausstiegsschwellenwert verglichen, und die erste Schablone, bei welcher der Schablonen-Nichtübereinstimmungszählwert unter dem Ausstiegsschwellenwert liegt, identifiziert das Zeichen. In diesem Fall werden die übrigen Schablonen nicht verarbeitet (was die Verarbeitungsgeschwindigkeit steigert).
  • Ferner kann zur Beschleunigung des Zeichenidentifizierungsprozesses folgendermaßen vorgegangen werden: Wenn während der Verarbeitung der einzelnen Reihen einer Schablone gefunden wird, daß der Nichtübereinstimmungszählwert der augenblicklichen Schablone (d. h. der gerade in Verarbeitung befindlichen Schablone) größer ist als der bis dahin erhaltene zweitniedrigste Zählwert, kann die Verarbeitung der augenblicklichen Schablone unterbrochen werden, weil diese augenblickliche Schablone im besagten Fall kein Konkurrent mehr für die Bewerbung um einen der beiden Plätze mit den niedrigsten Schablonen-Nichtübereinstimmungszählwerten ist. Um die Erkennungsgeschwindigkeit weiter zu steigern, können die Schablonen in derjenigen Reihenfolge vorsortiert werden, in der sie am wahrscheinlichsten auftreten (z. B. Ziffern vor Vokalen gefolgt von Konsonanten in einer alphanumerischen Schrift). Falls die Nichtübereinstimmung unterhalb der Ausstiegsschwelle liegt (wie oben erwähnt), braucht der Rest der Schablonen nicht mehr geprüft zu werden. So sollten diejenigen Zeichen, die am häufigsten erscheinen, zuerst geprüft werden. Außerdem kann man zur Förderung einer schnelleren Zeichenidentifizierung nur die mittlere Position mit den Schablonen prüfen, und erst danach, falls der niedrigste Schablonen-Nichtübereinstimmungszählwert oberhalb der Ausstiegsschwelle liegt, könnten die übrigen acht Positionen für jede der beiden Schablonen verarbeitet werden, die der Ausstiegsschwelle am nächsten kommen, und die Schablone mit dem niedrigsten Schablonen-Nichtübereinstimmungszählwert kann dann als diejenige ausgewählt werden, die repräsentativ für das Zeichen ist. Ferner können zur Beschleunigung der Identifizierung die übrigen acht Positionen (Fig. 8) in der Reihenfolge 79, 81, 83, 85, 89, 91, 93, 95 verarbeitet werden. Dies ist die Reihenfolge der Wahrscheinlichkeiten für die Positionierung des Zeichens.
  • Nach Identifizierung des abgesteckten Zeichens schreitet das System zur Verarbeitung des nächsten Zeichens (d. h. zur Verarbeitung der nächsten Gruppe gespeicherter Pixelwerte, welche die dem abgesteckten Zeichen benachbarte Zone des Dokumentes darstellen), indem das Segmentierungsfenster über eine vorgewählte Anzahl von Pixeln (z. B. drei Pixel) von dem zuvor abgesteckten Zeichen nach links bewegt wird. Das Zeichen in dieser Nachbarzone wird dann abgesteckt (segmentiert) und identifiziert, wie weiter oben beschrieben. Alle übrigen Zeichen (übrige gespeicherte Pixeldaten) werden in dieser Weise verarbeitet, bis das Ende des Feldes detektiert wird (d. h. keine weiteren Zeichen mehr lokalisiert worden sind oder ein Feld-Ende-Zeichen lokalisiert worden ist).
  • Falls während des Prozesses der Zeichenidentifizierung ein Zeichen zurückgewiesen wird, wird sein Bild verbessert, um die Identifizierung zu erleichtern. Das Bild kann z. B. dadurch verbessert werden, daß ein Zeichenbild mit konstanten Strichstärken erzeugt wird (d. h. mit einer konstanten Anzahl dunkler Pixel quer über die Breite jedes vertikalen Striches oder horizontalen Striches des Zeichens). Dies geschieht in nachstehender Weise. Zuerst werden die Pixel-Graustufenwerte (z. B. 6-Bit-, 8-Bit- oder 16-Bit-Werte), die das Zeichen darstellen, auf einen kleineren Wertebereich konvertiert (z. B. 3-Bit-Graustufenwerte zur schnelleren Verarbeitung), dann werden die einzelnen Pixel des Zeichenbildes geprüft und nur diejenigen Pixel, welche die dunkelsten zwei oder drei Pixel des Striches sind, werden schwarz gemacht, die anderen werden weiß gemacht. Dies führt zu einem binären Bild mit konstanten Strichbreiten, wie es z. B. im US-Patent Nr. 4 625 330 beschrieben ist.
  • Als Hilfe zur Verbesserung der Zeichenidentifizierung können die Ränder jedes Zeichens in der nachstehend beschriebenen Weise bearbeitet werden. Wie oben erwähnt, entspricht jede Schablone, die beim Zeichenidentifizierungsprozeß verwendet wird, einem Zeichen des gewählten Zeichensatzes (z. B. des E13B-Zeichensatzes), und wie in den Fig. 2 und 4 gezeigt, ist jedes Zeichen vierzehn Pixel breit und einundzwanzig Pixel hoch. Links und rechts am Zeichen wird jeweils eine Zusatzspalte angefügt, und oben und unten am Zeichen wird jeweils eine Zusatzreihe angefügt. Dies führt zu einer Zeichengröße von 16 mal 23. So wie jedes Zeichen ist auch jede Schablone sechzehn Pixel breit und dreiundzwanzig Pixel hoch. Jede Schablone hat an jeder Seite (rechte Seite und linke Seite) des vierzehnspaltigen Zeichens eine Zusatzspalte und eine Zusatzreihe am oberen Ende und eine Zusatzreihe am unteren Ende des einundzwanzigreihigen Zeichens. Jede Zusatzreihe besteht aus sechzehn weißen Pixeln, und jede Zusatzspalte besteht aus dreiundzwanzig weißen Pixeln. Die Zusatzreihen und -spalten dienen zur Umrahmung der 14-mal-21-Zeichenzone mit einem Rand aus weißen Pixeln zur besseren Identifizierung der Randbereiche gewisser Zeichen, wie weiter unten erläutert. Wenn z. B. das Zeichen "E" mit einer 14-mal-21-Schablone für "F" gepaart wird und die Schablone um eine Pixelposition nach oben verschoben wird, dann sind die Pixelwerte am unteren Ende des "E" verloren, da sie nicht bei der Erzeugung des Schablo nen-Nichtübereinstimmungszählwertes verwendet werden können. Dies könnte dazu führen, daß das E fälschlich als F identifiziert wird, weil der Nichtübereinstimmungszählwert niedrig ist. Mit der 16-mal-23-Schablone wird das untere Ende des E nicht verloren und trägt wesentlich zum Nichtübereinstimmungszählwert beim Vergleich mit der untersten weißen Reihe der F- Schablone bei, so daß eine fälschliche Identifizierung des E als F vermieden wird. Eine ähnliche Erläuterung gilt bezüglich der rechten und linken Spaltenpositionen der 16-mal-23- Schablone; hier dienen diese Spalten dazu, die Gefahr einer Falschidentifizierung infolge Verwechslung zwischen Zeichen "B" und "3" zu reduzieren.
  • Wie in Fig. 9 gezeigt, kann jede 16-mal-23-Schablone durch neunundsechzig 16-Bit-Wörter des RAM 27 dargestellt werden (entsprechend einer Abtastung von zweihundert Pixel pro Zoll 2,54 cm). Von den neunundsechzig Wörtern stellen dreiundzwanzig die Bitmusterwörter der ersten Ebene dar, dreiundzwanzig stellen die Bitsignifikanzwörter der zweiten Ebene dar und dreiundzwanzig stellen die Bitgewichtungswörter der dritten Ebene dar. Jede Gruppe von dreiundzwanzig Wörtern entspricht der Höhe des Zeichens, und jedes 16-Bit-Wort entspricht der Breite des Zeichens. (In der Fig. 7 sind aus Einfachheitsgründen acht Bits statt sechzehn Bits zur Veranschaulichung der logischen Operationen verwendet.)
  • Nachstehend gezeigt ist eine Auflistung des Pseudo-Codes des gespeicherten Programms, welches das System befähigt, die logischen und sonstigen oben beschriebenen Verarbeitungsoperationen durchzuführen:
  • PSEUDO-CODE
  • PROZEDUR: HAUPTGRUPPE
  • erkennt eine Codezeile aus einem Dokumentenbild während (NICHT ENDE DES DOKUMENTES) { wenn (FINDE ERSTES ZEICHEN ein Zeichen findet) dann ERKENNE FELD sonst ENDE DES DOKUMENTES }
  • PROZEDUR: FINDE ERSTES ZEICHEN führe aus { DURCHSUCHE BILD NACH ÜBERGANG VON WEISS NACH SCHWARZ bis (ZEICHEN GEFUNDEN oder ENDE DES DOKUMENTES)
  • PROZEDUR: ERKENNE FELD führe aus { ERKENNE ZEICHEN bewege zur nächsten Position während (ZEICHEN GEFUNDEN)
  • PROZEDUR: ERKENNE ZEICHEN { BINÄRISIERE ZEICHENBILD SCHABLONENERKENNUNG DES ZEICHENS wenn (ZURÜCKGEWIESEN) dann VERBESSERT BINÄRISIERE ZEICHENBILD SCHABLONENERKENNUNG DES ZEICHENS
  • Es sei auch erwähnt, daß, zusätzlich zu den Zeichen des oben diskutierten Typs E13B, OCRA, und OCRB, die verschiedenen vom System durchgeführten Berechnungen leicht modifiziert werden können, um das System zu befähigen, Bilder jeder beliebigen Auflösung mit Zeichen verschiedener Größen zu lesen.

Claims (7)

1. Vorrichtung zur optischen Zeichenerkennung, enthaltend eine Abtasteinrichtung (15) zum optischen Abtasten eines auf einem Dokument (19) geschriebenen alphanumerischen Zeichens, wobei das Zeichen und das Dokument (19) unterschiedliche Opazitäten haben, und zum Erzeugen einer Vielzahl von Pixel- Graustufenwerten (49) entsprechend den Opazitäten, eine Speichereinrichtung (27), die angeordnet ist zur Speicherung der Graustufenwerte (49) gemeinsam mit einem Programm und einer Vielzahl vorbestimmter Binärmuster, von denen eines das Zeichen darstellt, und eine mit der Abtasteinrichtung (15) und mit der Speichereinrichtung (27) gekoppelte Verarbeitungseinrichtung (23), die unter Steuerung durch das Programm arbeitet und dazu ausgelegt ist, ein Fenster zu erzeugen, das einen Bereich einer Matrix von Werten umgibt, die das Zeichen darstellen, wobei die Verarbeitungseinrichtung (23) ferner diese Matrix von Werten in Binärdaten umwandelt und aus der Vielzahl vorbestimmter Binärmuster ein Muster auswählt, welches auf die umgewandelten Binärdaten paßt, wobei das passende Muster zur Identifizierung des Zeichens dient, dadurch gekennzeichnet, daß die Verarbeitungseinrichtung ferner die Summe von Graustufenwerten innerhalb des Fensters bestimmt und das Fenster relativ zu dem Bereich und in Richtungen in Ansprache auf Änderungen der Summe der Graustufenwerte bewegt, um die Summe maximal zu machen und so das Zeichen zentral innerhalb des Fensters zu plazieren.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Verarbeitungseinrichtung außerdem Mittel enthält, um das Vorhandensein eines Zeichens innerhalb des Fensters zu bestätigen durch Bestimmung der Gesamtanzahl von Pixeln im Fenster, die eine vorbestimmte Bestätigungsschwelle über schreitet, um für die ausgewählten Pixelwerte einen Durchschnittsschwellenwert zu berechnen und um Binärdaten zu erzeugen, die repräsentativ für die Beträge der ausgewählten Pixelwerte relativ zum Durchschnittsschwellenwert sind.
3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jedes vorbestimmte Binärmuster eine erste (73), eine zweite (75) und eine dritte (77) Bitkonfigurationsebene enthält, wobei die erste Bitkonfigurationsebene ein eigentliches Bitmuster jedes Zeichens darstellt, und daß eine Einrichtung vorgesehen ist zur Erzeugung eines Nichtübereinstimmungs- Zählwertes, der das Maß der Nichtübereinstimmung zwischen den umgewandelten Binärdaten und ausgewählten Bitkonfigurationen des vorbestimmten Binärmusters anzeigt, wobei diese Einrichtung logische Mittel enthält zur Durchführung einer Exklusiv- ODER-Operation zwischen den umgewandelten Binärdaten und der ersten Bitkonfiguration, um ein erstes Nichtübereinstimmungswort (74) zu erzeugen.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die zweite Bitkonfigurationsebene eine vorbestimmte Signifikanz einzelner Bits des eigentlichen Bitmusters darstellt und daß die Einrichtung zum Erzeugen eines Nichtübereinstimmungs-Zählwertes logische Mittel enthält zur Durchführung einer UND-Operation zwischen dem ersten Nichtübereinstimmungswort und der zweiten Bitkonfigurationsebene, um ein zweites Nichtübereinstimmungswort (76) zu erzeugen.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die dritte Bitkonfigurationsebene gewichtete Werte einzelner Bits des eigentlichen Bitmusters darstellt und daß die Einrichtung zur Erzeugung eines Nichtübereinstimmungs-Zählwertes logische Mittel enthält zur Durchführung einer UND-Operation zwischen dem zweiten Nichtübereinstimmungswort und der dritten Bitkonfigurationsebene, um ein drittes Nichtübereinstimmungswort zu erzeugen.
6. Vorrichtung nach Anspruch 3, 4 oder 5, dadurch gekennzeichnet, daß jedes der Binärmuster eine vorbestimmte Schablone (98) darstellt und das plazierte Zeichen mit der vorbestimmten Schablone (98) in jeder von neun Positionen verglichen werden kann, nämlich einer mittigen Position und acht außermittigen Positionen, und daß die Einrichtung zur Erzeugung eines Nichtübereinstimmungs-Zählwertes Mittel enthält zur Positionierung der Schablone (98) relativ zu einem mittleren Teil des plazierten Zeichens.
7. Verfahren zur optischen Identifizierung eines Zeichens auf einem Dokument, enthaltend: optisches Abtasten des alphanumerischen Zeichens, um eine Vielzahl von Pixel-Graustufenwerten (49) zu erzeugen; Speichern der Graustufenwerte (49) gemeinsam mit einem Programm und der Vielzahl vorbestimmter Binärmuster, wobei eines der vorbestimmten Binärmuster das Zeichen darstellt, und Verarbeiten der gespeicherten Daten unter Steuerung durch das gespeicherte Programm, um ein Fenster zu erzeugen, das einen Bereich einer Matrix von das Zeichen darstellenden Werten umgibt, und Bestimmen der Summe von Graustufenwerten innerhalb des Fensters und Bewegen des Fensters relativ zu dem Bereich und in Richtungen in Ansprache auf Änderungen der Summe der Graustufenwerte, um die Summe maximal zu machen und so das Zeichen zentral innerhalb des Fensters zu plazieren, und Umwandeln der Matrix von Werten in Binärdaten und Auswählen eines auf die den umgewandelten Binärdaten passenden Musters aus der Vielzahl vorbestimmter Binärmuster, wobei das passende Muster zur Identifizierung des Zeichens dient.
DE69131006T 1990-12-28 1991-12-19 Gerät und Verfahren zur optischen Zeichenerkennung Expired - Fee Related DE69131006T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/635,899 US5091968A (en) 1990-12-28 1990-12-28 Optical character recognition system and method

Publications (2)

Publication Number Publication Date
DE69131006D1 DE69131006D1 (de) 1999-04-22
DE69131006T2 true DE69131006T2 (de) 1999-10-07

Family

ID=24549574

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69131006T Expired - Fee Related DE69131006T2 (de) 1990-12-28 1991-12-19 Gerät und Verfahren zur optischen Zeichenerkennung

Country Status (5)

Country Link
US (1) US5091968A (de)
EP (1) EP0492979B1 (de)
JP (1) JPH04361391A (de)
CA (1) CA2049758C (de)
DE (1) DE69131006T2 (de)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067379A (en) * 1988-12-09 2000-05-23 Cognex Corporation Method and apparatus for locating patterns in an optical image
CA2049866C (en) * 1990-12-28 1998-06-30 Raymond L. Higgins System and method for optical recognition of bar-coded characters
CA2052450C (en) * 1991-01-14 1998-08-18 Raymond L. Higgins Ocr system for recognizing user-specified custom fonts in addition to standard fonts
US5272766A (en) * 1991-01-14 1993-12-21 Ncr Corporation OCR system for recognizing user-specified custom fonts in addition to standard fonts using three-layer templates
US5299269A (en) * 1991-12-20 1994-03-29 Eastman Kodak Company Character segmentation using an associative memory for optical character recognition
US5859923A (en) * 1992-12-29 1999-01-12 Cognex Corporation Mark quality inspection apparatus and method
EP0677811A1 (de) * 1994-04-15 1995-10-18 Canon Kabushiki Kaisha Bildverarbeitungssystem mit sofortiger JPEG-Kompression
US5802204A (en) * 1995-06-07 1998-09-01 Microchip Technology Incorporated Handwritten character translator using fuzzy logic
US6026176A (en) 1995-07-25 2000-02-15 Cognex Corporation Machine vision methods and articles of manufacture for ball grid array inspection
AUPN462995A0 (en) * 1995-08-07 1995-08-31 Mikoh Technology Limited Optical memory data detector and authenticator
AU717222B2 (en) * 1995-08-07 2000-03-23 Mikoh Technology Limited Optical image authenticator
US5729621A (en) * 1995-08-31 1998-03-17 Ncr Corporation Method and apparatus for magnetic ink character recognition using a magneto-resistive read head
US5872870A (en) * 1996-02-16 1999-02-16 Cognex Corporation Machine vision methods for identifying extrema of objects in rotated reference frames
US5909504A (en) * 1996-03-15 1999-06-01 Cognex Corporation Method of testing a machine vision inspection system
US6298149B1 (en) 1996-03-21 2001-10-02 Cognex Corporation Semiconductor device image inspection with contrast enhancement
US6259827B1 (en) 1996-03-21 2001-07-10 Cognex Corporation Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images
US5978502A (en) * 1996-04-01 1999-11-02 Cognex Corporation Machine vision methods for determining characteristics of three-dimensional objects
US5956468A (en) * 1996-07-12 1999-09-21 Seiko Epson Corporation Document segmentation system
US6137893A (en) * 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
US7207478B1 (en) 1999-11-30 2007-04-24 Diebold, Incorporated Check accepting and cash dispensing automated banking machine system and method
US5960125A (en) * 1996-11-21 1999-09-28 Cognex Corporation Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object
US5953130A (en) * 1997-01-06 1999-09-14 Cognex Corporation Machine vision methods and apparatus for machine vision illumination of an object
US6075881A (en) * 1997-03-18 2000-06-13 Cognex Corporation Machine vision methods for identifying collinear sets of points from an image
US5974169A (en) * 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
US6141033A (en) * 1997-05-15 2000-10-31 Cognex Corporation Bandwidth reduction of multichannel images for machine vision
US6608647B1 (en) 1997-06-24 2003-08-19 Cognex Corporation Methods and apparatus for charge coupled device image acquisition with independent integration and readout
US5910988A (en) * 1997-08-27 1999-06-08 Csp Holdings, Inc. Remote image capture with centralized processing and storage
US8024269B1 (en) 1997-08-27 2011-09-20 Datatreasury Corporation Remote image capture with centralized processing and storage
US7519558B2 (en) 1997-08-27 2009-04-14 Ballard Claudio R Biometrically enabled private secure information repository
US5978080A (en) * 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view
US6025854A (en) * 1997-12-31 2000-02-15 Cognex Corporation Method and apparatus for high speed image acquisition
US6282328B1 (en) 1998-01-28 2001-08-28 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with non-uniform offsets
US6236769B1 (en) 1998-01-28 2001-05-22 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with zero or other uniform offsets
US6381375B1 (en) 1998-02-20 2002-04-30 Cognex Corporation Methods and apparatus for generating a projection of an image
US6215915B1 (en) 1998-02-20 2001-04-10 Cognex Corporation Image processing methods and apparatus for separable, general affine transformation of an image
JP4338155B2 (ja) * 1998-06-12 2009-10-07 キヤノン株式会社 画像処理装置及びその方法、コンピュータ可読メモリ
US6687402B1 (en) 1998-12-18 2004-02-03 Cognex Corporation Machine vision methods and systems for boundary feature comparison of patterns and images
US6381366B1 (en) 1998-12-18 2002-04-30 Cognex Corporation Machine vision methods and system for boundary point-based comparison of patterns and images
US7611048B1 (en) 1999-11-30 2009-11-03 Diebold, Incorporated Check accepting and cash dispensing automated banking machine system and method
US6684402B1 (en) 1999-12-01 2004-01-27 Cognex Technology And Investment Corporation Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor
US6748104B1 (en) 2000-03-24 2004-06-08 Cognex Corporation Methods and apparatus for machine vision inspection using single and multiple templates or patterns
US7181430B1 (en) 2000-04-28 2007-02-20 Netdeposit, Inc. Method and system for processing financial instrument deposits physically remote from a financial institution
US7475040B2 (en) * 2000-04-28 2009-01-06 Netdeposit, Inc. Return item early notification and return
US7216106B1 (en) 2000-04-28 2007-05-08 Netdeposit, Inc. Method and system for processing financial instrument deposits physically remote from a financial institution
US7386511B2 (en) * 2000-04-28 2008-06-10 Netdeposit Inc. Methods and systems for processing financial instrument deposits
US7006669B1 (en) 2000-12-31 2006-02-28 Cognex Corporation Machine vision method and apparatus for thresholding images of non-uniform materials
US10453151B2 (en) 2001-02-01 2019-10-22 Kris Engineering, Inc. Receipts scanner and financial organizer
US7746510B2 (en) 2001-02-01 2010-06-29 Pandipati Radha K C Receipts scanner and financial organizer
US20030059099A1 (en) * 2001-09-27 2003-03-27 Longford Equipment International Limited Optical character recognition system
US6873715B2 (en) * 2002-01-31 2005-03-29 You-Ti Kuo System of central signature verifications and electronic receipt transmissions
US7295694B2 (en) * 2002-02-22 2007-11-13 International Business Machines Corporation MICR-based optical character recognition system and method
WO2003091849A2 (en) * 2002-04-23 2003-11-06 The Clearing House Service Company L.L.C. Payment identification code system
KR100489550B1 (ko) * 2002-08-19 2005-05-16 (주)신우아이티 일련번호 추출기능을 가진 유가증권 계수 장치 및 그방법
US7069240B2 (en) * 2002-10-21 2006-06-27 Raphael Spero System and method for capture, storage and processing of receipts and related data
US20040243489A1 (en) * 2003-05-27 2004-12-02 International Business Machines Corporation Expense accounting data management based on electronic expense document
US7280684B2 (en) * 2003-07-30 2007-10-09 International Business Machines Corporation Method and system for ongoing performance monitoring of a character recognition system
US20050097046A1 (en) 2003-10-30 2005-05-05 Singfield Joy S. Wireless electronic check deposit scanning and cashing machine with web-based online account cash management computer application system
US8725607B2 (en) 2004-01-30 2014-05-13 The Clearing House Payments Company LLC Electronic payment clearing and check image exchange systems and methods
US7386160B2 (en) * 2004-12-02 2008-06-10 International Business Machines Corporation System and method for determining image resolution using MICR characters
US7639861B2 (en) 2005-09-14 2009-12-29 Cognex Technology And Investment Corporation Method and apparatus for backlighting a wafer during alignment
US8111904B2 (en) * 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
US8162584B2 (en) * 2006-08-23 2012-04-24 Cognex Corporation Method and apparatus for semiconductor wafer alignment
US7873200B1 (en) 2006-10-31 2011-01-18 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US8708227B1 (en) 2006-10-31 2014-04-29 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US10380559B1 (en) 2007-03-15 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for check representment prevention
US20080310721A1 (en) 2007-06-14 2008-12-18 John Jinhwan Yang Method And Apparatus For Recognizing Characters In A Document Image
US9058512B1 (en) 2007-09-28 2015-06-16 United Services Automobile Association (Usaa) Systems and methods for digital signature detection
US9159101B1 (en) 2007-10-23 2015-10-13 United Services Automobile Association (Usaa) Image processing
US20090198486A1 (en) * 2008-02-05 2009-08-06 National Tsing Hua University Handheld electronic apparatus with translation function and translation method using the same
US10380562B1 (en) 2008-02-07 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for mobile deposit of negotiable instruments
JP2009199102A (ja) * 2008-02-19 2009-09-03 Fujitsu Ltd 文字認識プログラム、文字認識装置及び文字認識方法
US10504185B1 (en) 2008-09-08 2019-12-10 United Services Automobile Association (Usaa) Systems and methods for live video financial deposit
DE102008042080A1 (de) * 2008-09-15 2010-03-25 Bundesdruckerei Gmbh Verfahren zur automatischen optischen Zeichenerfassung, Computerprogrammprodukt, Datenverarbeitungssystem und Scanner
US8452689B1 (en) 2009-02-18 2013-05-28 United Services Automobile Association (Usaa) Systems and methods of check detection
US10956728B1 (en) 2009-03-04 2021-03-23 United Services Automobile Association (Usaa) Systems and methods of check processing with background removal
US9779392B1 (en) 2009-08-19 2017-10-03 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments
US8977571B1 (en) 2009-08-21 2015-03-10 United Services Automobile Association (Usaa) Systems and methods for image monitoring of check during mobile deposit
US8699779B1 (en) 2009-08-28 2014-04-15 United Services Automobile Association (Usaa) Systems and methods for alignment of check during mobile deposit
US9129340B1 (en) 2010-06-08 2015-09-08 United Services Automobile Association (Usaa) Apparatuses, methods and systems for remote deposit capture with enhanced image detection
US8488886B2 (en) * 2010-08-02 2013-07-16 Celartem, Inc. Font matching
AU2012202173B2 (en) 2011-04-18 2013-09-05 Castle Bookkeeping Wizard Pty Ltd System and method for processing a transaction document including one or more financial transaction entries
US10380565B1 (en) 2012-01-05 2019-08-13 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US10552810B1 (en) 2012-12-19 2020-02-04 United Services Automobile Association (Usaa) System and method for remote deposit of financial instruments
EP3005235A1 (de) * 2013-05-24 2016-04-13 Life Technologies Corporation Verfahren und systeme zur erkennung eines verschleissteils in einem system
US11138578B1 (en) 2013-09-09 2021-10-05 United Services Automobile Association (Usaa) Systems and methods for remote deposit of currency
US9286514B1 (en) 2013-10-17 2016-03-15 United Services Automobile Association (Usaa) Character count determination for a digital image
US11295308B1 (en) 2014-10-29 2022-04-05 The Clearing House Payments Company, L.L.C. Secure payment processing
US10402790B1 (en) 2015-05-28 2019-09-03 United Services Automobile Association (Usaa) Composing a focused document image from multiple image captures or portions of multiple image captures
US11694168B2 (en) 2015-07-01 2023-07-04 The Clearing House Payments Company L.L.C. Real-time payment system, method, apparatus, and computer program
US11042882B2 (en) 2015-07-01 2021-06-22 The Clearing House Payments Company, L.L.C. Real-time payment system, method, apparatus, and computer program
US10192127B1 (en) 2017-07-24 2019-01-29 Bank Of America Corporation System for dynamic optical character recognition tuning
US10346702B2 (en) 2017-07-24 2019-07-09 Bank Of America Corporation Image data capture and conversion
US11030752B1 (en) 2018-04-27 2021-06-08 United Services Automobile Association (Usaa) System, computing device, and method for document detection
US11436577B2 (en) 2018-05-03 2022-09-06 The Clearing House Payments Company L.L.C. Bill pay service with federated directory model support
US11900755B1 (en) 2020-11-30 2024-02-13 United Services Automobile Association (Usaa) System, computing device, and method for document detection and deposit processing

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE422714B (sv) * 1979-01-16 1982-03-22 Ibm Svenska Ab Anordning med styrdator for optisk teckenlosning, vilken styrdator bl a bereknar startpunkter for identifiering av ett tecken
US4308523A (en) * 1980-02-04 1981-12-29 Compuscan, Incorporated Apparatus and method for character recognition
NL183790C (nl) * 1980-11-21 1989-01-16 Nederlanden Staat Werkwijze voor karaktersegmentatie.
GB2103449B (en) * 1981-06-29 1985-05-30 Nippon Telegraph & Telephone Method and apparatus for gray level signal processing
US4783829A (en) * 1983-02-23 1988-11-08 Hitachi, Ltd. Pattern recognition apparatus
JPS59226981A (ja) * 1983-06-08 1984-12-20 Fujitsu Ltd パタ−ンマツチング方法および装置
US4471046A (en) * 1983-08-04 1984-09-11 Eastman Kodak Company 4-Hydroxyalkyl-substituted 3-pyrazolidinone electron transfer agents
US4625330A (en) * 1983-12-19 1986-11-25 Ncr Corporation Video enhancement system
DE3579627D1 (de) * 1984-04-10 1990-10-18 British Telecomm Mustererkennungseinrichtung.
US4742556A (en) * 1985-09-16 1988-05-03 Davis Jr Ray E Character recognition method
US5014327A (en) * 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
US4856075A (en) * 1987-10-05 1989-08-08 Eastman Kodak Company Image discrimination
US4850026A (en) * 1987-10-13 1989-07-18 Telecommunications Laboratories Dir. Gen'l Of Telecom. Ministry Of Communications Chinese multifont recognition system based on accumulable stroke features
US4949392A (en) * 1988-05-20 1990-08-14 Eastman Kodak Company Document recognition and automatic indexing for optical character recognition

Also Published As

Publication number Publication date
EP0492979A2 (de) 1992-07-01
CA2049758C (en) 1998-05-19
DE69131006D1 (de) 1999-04-22
EP0492979A3 (de) 1994-02-23
EP0492979B1 (de) 1999-03-17
CA2049758A1 (en) 1992-06-29
US5091968A (en) 1992-02-25
JPH04361391A (ja) 1992-12-14

Similar Documents

Publication Publication Date Title
DE69131006T2 (de) Gerät und Verfahren zur optischen Zeichenerkennung
DE69324095T2 (de) Verfahren und Vorrichtung zum Dedektieren von strichkodierten Symbolen mit Unterpixel-Interpolation
DE69716087T2 (de) System und verfahren zur bilderfassung mit hoher geschwindigkeit
DE3633743C2 (de)
DE69310049T2 (de) Verfahren und Vorrichtung zum Auffinden einer Ecke einer Struktur in zweidimensionalen Bildern
DE69226846T2 (de) Verfahren zur Bestimmung von Wortgrenzen im Text
DE69518098T2 (de) Verfahren und Vorrichtung zum Lesen eines optischen zweidimensionalen Kodes
DE69324079T2 (de) Verfahren und Vorrichtung zur Erfassung von Strichkoden
DE10036110B4 (de) Verfahren zur Bestimmung des Schrägwinkels eines zweidimensionalen Barcodes
DE69308905T2 (de) Verarbeiten von mit Punktmatrix- oder Tintenstrahlkopf gedrucktem Text für optische Zeichenerkennung
DE69504069T2 (de) Verfahren und gerät zu dekodierung von zweidimensionalen zeichen im raumbereich
DE69230633T2 (de) Verfahren zur Ermittlung von Wortformen zum folgenden Vergleich
DE3879254T2 (de) Unterscheidungsvorrichtung für handgeschriebene und maschinengedruckte Buchstaben.
DE68915950T2 (de) Verfahren zum Trennen von Zeichen.
DE3716787C2 (de)
DE69131394T2 (de) Maschinenlesbares Zeichen mit Mehrfachauflösung
DE69230632T2 (de) Optische Worterkennung durch Wortgestaltuntersuchung
DE19814075B4 (de) Verfahren zum Abtasten und Erkennen mehrerer Fotografien und zum Beseitigen von Randfehlern
DE69230631T2 (de) Verfahren zum Vergleichen von Wortgestalten
DE69521040T2 (de) Verfahren und vorrichtung zum dekodieren von balkencodebildern mittels informationen aus vorhergehenden abtastzeilen
DE69835358T2 (de) Verfahren zur Korrektur der Verzerrung beim Abtasten eines optischen Codes
DE69131216T2 (de) Lagebestimmung von Strichkodierungen
DE69608170T2 (de) Gerät und Verfahren zur Bildbinarisation
DE69930536T2 (de) Schräglage-verarbeitung für raster-abtast-bilder
DE69426479T2 (de) Optische Mehrfontzeichenerkennung mit einem Verbindungsschachtelansatz

Legal Events

Date Code Title Description
8328 Change in the person/name/address of the agent

Free format text: V. BEZOLD & SOZIEN, 80799 MUENCHEN

8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee