DE102013220470A1 - System und verfahren zum selektieren und anzeigen von segmentierungsparametern für eine optische zeichenerkennung - Google Patents

System und verfahren zum selektieren und anzeigen von segmentierungsparametern für eine optische zeichenerkennung Download PDF

Info

Publication number
DE102013220470A1
DE102013220470A1 DE102013220470.1A DE102013220470A DE102013220470A1 DE 102013220470 A1 DE102013220470 A1 DE 102013220470A1 DE 102013220470 A DE102013220470 A DE 102013220470A DE 102013220470 A1 DE102013220470 A1 DE 102013220470A1
Authority
DE
Germany
Prior art keywords
segmentation
user
character
computing devices
string
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.)
Withdrawn
Application number
DE102013220470.1A
Other languages
English (en)
Inventor
Ali Zadeh
John Petry
Kim Marie Steiner
Steven Patrick Shuman
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.)
Cognex Corp
Original Assignee
Cognex Corp
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
Priority claimed from US13/653,948 external-priority patent/US9317767B2/en
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE102013220470A1 publication Critical patent/DE102013220470A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/158Segmentation of character regions using character size, text spacings or pitch estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Input (AREA)

Abstract

Ein computerimplementiertes Verfahren zum Selektieren mindestens eines Segmentierungsparameters für eine optische Zeichenerkennung wird bereitgestellt. Das Verfahren kann ein Empfangen eines Bildes umfassen, welches eine Zeichenkette aufweist, die ein oder mehrere Zeichen umfasst. Das Verfahren kann ebenfalls ein Empfangen einer Zeichenkette umfassen, welche jedes der einen oder mehreren Zeichen identifiziert. Das Verfahren kann ebenfalls ein automatisches Erzeugen mindestens eines Segmentierungsparameters umfassen. Das Verfahren kann ebenfalls ein Durchführen einer Segmentierung des Bildes, welches die Zeichenkette aufweist, umfassen unter Verwendung des mindestens einen Segmentierungsparameters. Das Verfahren kann ebenfalls ein Bestimmen umfassen, ob eine resultierende Segmentierung ein oder mehrere Kriterien erfüllt und ein Selektieren des mindestens einen Segmentierungsparameters, wenn die resultierende Segmentierung dem einen oder den mehreren Kriterien genügt.

Description

  • Verwandte Anmeldungen
  • Die vorliegende Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 13/684,007, welche am 21. November 2012 eingereicht wurde, und der US-Patentanmeldung Nr. 13/653,948, welche am 17. Oktober 2012 eingereicht wurde, wobei beide Anmeldungen durch den Verweis in ihrer Gesamtheit in die Offenbarung der vorliegenden Patentanmeldung eingeschlossen sind.
  • Technisches Gebiet
  • Diese Technologie betrifft maschinelle Sichtsysteme und -verfahren und betrifft genauer gesagt Systeme und Verfahren zur optischen Zeichenerkennung.
  • Hintergrund
  • OCR-Technologie (OCR: Optical Character Recognition, optische Zeichenerkennung) wird oft in vielen maschinellen Sichtsystemen verwendet um Text zu detektieren, welcher mit verschiedenen Fertigungsverfahren verknüpft sind. Jedoch ist die Konfiguration von OCR-Parametern für eine gegebene Anwendung sehr schwierig, besonders für einen neuen Benutzer. Zum Beispiel wenn ein Benutzer einen Bereich um eine OCR-Zeichenfolge auswählt und der Segmentierer die Zeichen nicht korrekt findet, stößt der Benutzer häufig bei dem Versuch, das Problem manuell zu beheben, auf Schwierigkeiten. Im Unterschied zu vielen Anwendungen, welche im Vorfeld von einem Systemintegrator gelöst werden können, kann OCR Techniker oder Ingenieure in der Produktion benötigen, um die Betriebsparameter zu trainieren oder zu modifizieren. Dies kann geschehen, wenn neue Teile eingeführt werden oder neue Drucke oder neue Aufkleber verwendet werden. Bestehende Systeme können ziemlich leicht konfiguriert werden, wenn die Standardsegmentierungsparameter funktionieren.
  • Jedoch wenn sie nicht funktionieren, wird der Benutzer mit einer Liste von 20–30 Parametern konfrontiert, welche einer Einstellung bedürfen könnten. Dies liegt über dem Fähigkeitsniveau der meisten Benutzer.
  • Zusammenfassung der Offenbarung
  • In einer Implementierung wird ein computerimplementiertes Verfahren zum Selektieren mindestens eines Segmentierungsparameters für eine optische Zeichenerkennung bereitgestellt. Das Verfahren kann ein Empfangen eines Bildes unter Verwendung einer oder mehrerer Computervorrichtungen umfassen, wobei das Bild eine Zeichenkette aufweist, welche ein oder mehrere Zeichen umfasst. Das Verfahren kann ebenfalls ein Empfangen einer Zeichenkette unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, wobei die Zeichenkette jedes der einen oder mehreren Zeichen identifiziert. Das Verfahren kann auch ein automatisches Erzeugen von mindestens einem Segmentierungsparameter unter Verwendung der einen oder mehreren Computervorrichtungen umfassen. Das Verfahren kann ebenfalls ein Durchführen einer Segmentierung des Bildes, welches die Zeichenkette aufweist, unter Verwendung der einen oder mehreren Computervorrichtungen umfassen unter Verwendung des mindestens einen Segmentierungsparameters. Das Verfahren kann auch ein Bestimmen unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, ob eine resultierende Segmentierung ein oder mehrere Kriterien erfüllt und wenn die resultierende Segmentierung das eine oder die mehreren Kriterien erfüllt, kann das Verfahren ein Selektieren des mindestens einen Segmentierungsparameters umfassen. Das Verfahren kann ebenfalls ein Anzeigen von mindestens einem Teil des Bildes auf der einen oder den mehreren Computervorrichtungen umfassen.
  • Eines oder mehrere der folgenden Merkmale können eingeschlossen sein. In einigen Ausführungsformen kann das Verfahren ein Anzeigen einer vom Benutzer wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, wobei die vom Benutzer wählbare Option mit der Segmentierung verknüpft ist und konfiguriert ist, es einem Benutzer zu gestatten entweder eine korrekte Segmentierung oder eine inkorrekte Segmentierung anzuzeigen. Das Verfahren kann auch ein Anzeigen einer vom Benutzer wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, wobei die vom Benutzer wählbare Option konfiguriert ist, es einem Benutzer zu gestatten, eine manuell erzeugte Segmentierung manuell zu erzeugen. Das Verfahren kann ebenfalls ein Anzeigen der resultierenden Segmentierung unter Verwendung der einen oder mehreren Computervorrichtungen umfassen. Das Verfahren kann ebenfalls ein Anzeigen des mindestens einen Segmentierungsparameters unter Verwendung der einen oder mehreren Computervorrichtungen umfassen. In einigen Ausführungsformen kann der mindestens eine Segmentierungsparameter einen oder mehrere Parameter umfassen aus der Gruppe, bestehend aus: Polarität („polarity”), Zeilenfeinheit („line refinement”), Winkelsuchbereich („angle search range”), Schrägstellungssuchbereich („skew search range”), Normierungsmodus („normalization mode”), Strichstärke („stroke width”), Binärisierungsschwellenwert („binarization threshold”), Grenzfragmente („border fragments”), Pixelzählwert („pixel count”), Fragmentkontrastschwellenwert („fragment contrast threshold”), Zeichenhöhe („character height”), Zeichenbreite („character width”), Abstand zwischen zwei benachbarten Zeichen („intercharacter gap”), Abstand innerhalb eines Zeichens („intracharacter gap”), Fragmentabstand zur Hauptlinie („fragment distance to main line”), Fragmentmischungsmodus („fragment merge mode”), minimaler Zeichenaspekt („minimum character aspect”), Zeichenbreitentyp („character width type”), Analysemodus („analysis mode”), Abtandsmetrik („pitch metric”), Abstandsart („pitch type”), minimaler Abstand („minimum pitch”), Leerzeicheneinfügung („space insertion”) und Breite des Leerzeichens („width of space character”). Das Verfahren kann ebenfalls ein Anzeigen von mindestens einem trainierten Bild unter Verwendung der einen oder mehreren Computervorrichtungen umfassen.
  • In einer anderen Ausführungsform wird ein Computerprogrammprodukt bereitgestellt, welches auf einem computerlesbaren Speichermedium gespeichert ist. Das Computerprogrammprodukt kann eine Mehrzahl von Anweisungen aufweisen, welche hierauf gespeichert ist, welche, wenn sie von einem Prozessor ausgeführt wird, den Prozessor veranlassen kann, Tätigkeiten auszuführen. Die Tätigkeiten können ein Empfangen eines Bildes unter Verwendung einer oder mehrerer Computervorrichtungen umfassen, wobei das Bild eine Zeichenkette umfasst, welche ein oder mehrere Zeichen umfasst. Die Tätigkeiten können ebenfalls ein Empfangen einer Zeichenkette unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, wobei die Zeichenkette jedes der einen oder mehreren Zeichen identifiziert. Die Tätigkeiten können ebenfalls ein automatisches Erzeugen von mindestens einem Segmentierungsparameter unter Verwendung der einen oder mehreren Computervorrichtungen umfassen. Die Tätigkeiten können ebenfalls ein Durchführen einer Segmentierung des Bildes, welches die Zeichenkette umfasst, unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, unter Verwendung des mindestens einen Segmentierungsparameters. Die Tätigkeiten können ebenfalls ein Bestimmen unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, ob eine resultierende Segmentierung ein oder mehrere Kriterien erfüllt und wenn die resultierende Segmentierung das eine oder die mehreren Kriterien erfüllt, können die Tätigkeiten ein Selektieren des mindestens einen Segmentierungsparameters umfassen. Die Tätigkeiten können ebenfalls ein Anzeigen von mindestens einem Teil des Bildes auf der einen oder den mehreren Computervorrichtungen umfassen.
  • Eines oder mehrere der folgenden Merkmale können umfasst sein. In einigen Ausführungsformen können die Tätigkeiten ein Anzeigen einer vom Benutzer wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, wobei die vom Benutzer wählbare Option mit der Segmentierung verknüpft ist und konfiguriert ist, es einem Benutzer zu erlauben, entweder eine korrekte Segmentierung oder eine inkorrekte Segmentierung anzuzeigen. Die Tätigkeiten können ebenfalls ein Anzeigen einer vom Benutzer wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen umfassen, wobei die vom Benutzer wählbare Option konfiguriert ist, es einem Benutzer zu erlauben, eine manuell erzeugte Segmentierung manuell zu erzeugen.
  • Die Tätigkeiten können ebenfalls ein Anzeigen der resultierenden Segmentierung unter Verwendung der einen oder mehreren Computervorrichtungen umfassen.
  • Die Tätigkeiten können ebenfalls ein Anzeigen des mindestens einen Segmentierungsparameters unter Verwendung der einen oder mehreren Computervorrichtungen umfassen. In einigen Ausführungsformen kann der mindestens eine Segmentierungsparameter einen oder mehrere Parameter umfassen aus der Gruppe, bestehend aus: Polarität („polarity”), Zeilenfeinheit („line refinement”), Winkelsuchbereich („angle search range”), Schrägstellungssuchbereich („skew search range”), Normierungsmodus („normalization mode”), Strichstärke („stroke width”), Binärisierungsschwellenwert („binarization threshold”), Grenzfragmente („border fragments”), Pixelzählwert („pixel count”), Fragmentkontrastschwellenwert („fragment contrast threshold”), Zeichenhöhe („character height”), Zeichenbreite („character width”), Abstand zwischen zwei benachbarten Zeichen („intercharacter gap”), Abstand innerhalb eines Zeichens („intracharacter gap”), Fragmentabstand zur Hauptlinie („fragment distance to main line”), Fragmentmischungsmodus („fragment merge mode”), minimaler Zeichenaspekt („minimum character aspect”), Zeichenbreitentyp („character width type”), Analysemodus („analysis mode”), Abstandsmetrik („pitch metric”), Abstandsart („pitch type”), minimaler Abstand („minimum pitch”), Leerzeicheneinfügung („space insertion”) und Breite des Leerzeichens („width of space character”).. Die Tätigkeiten können ebenfalls ein Anzeigen von mindestens einem trainierten Bild unter Verwendung der einen oder mehreren Computervorrichtungen umfassen.
  • In einer anderen Implementierung wird ein Computersystem bereitgestellt, welches einen oder mehrere Prozessoren aufweist. Der eine oder die mehreren Prozessoren können konfiguriert sein, um ein Bild zu empfangen, welches eine Zeichenkette aufweist, welche ein oder mehrere Zeichen umfasst. Der eine oder die mehreren Prozessoren können konfiguriert sein, um eine Zeichenkette zu empfangen, welche jedes der einen oder mehreren Zeichen identifiziert. Der eine oder die mehreren Prozessoren können konfiguriert sein, um mindestens einen Segmentierungsparameter automatisch zu erzeugen. Der eine oder die mehreren Prozessoren können konfiguriert sein, um eine Segmentierung des Bildes, welches die Zeichenkette aufweist, durchzuführen, unter Verwendung des mindestens einen Segmentierungsparameters. Der eine oder die mehreren Prozessoren können konfiguriert sein, um zu bestimmen, ob eine resultierende Segmentierung, eines oder mehrere Kriterien erfüllt und wenn die resultierende Segmentierung das eine oder die mehreren Kriterien erfüllt, können der eine oder die mehreren Prozessoren konfiguriert sein, um den mindestens einen Segmentierungsparameter auszuwählen. Der eine oder die mehreren Prozessoren können konfiguriert sein, um mindestens einen Teil des Bildes auf der einen oder den mehreren Computervorrichtungen anzuzeigen.
  • Eines oder mehrere der folgenden Merkmale können eingeschlossen sein. In einigen Ausführungsformen können der eine oder die mehreren Prozessoren konfiguriert sein, um eine vom Benutzer wählbare Option anzuzeigen, welche mit der Segmentierung verknüpft ist, wobei die vom Benutzer wählbare Option konfiguriert ist, um es einem Benutzer zu erlauben, entweder eine korrekte Segmentierung oder eine inkorrekte Segmentierung anzuzeigen. Der eine oder die mehreren Prozessoren können konfiguriert sein, um eine vom Benutzer wählbare Option anzuzeigen, welche konfiguriert ist, um es einem Benutzer zu gestatten, eine manuell erzeugte Segmentierung manuell zu erzeugen. Der eine oder die mehreren Prozessoren können konfiguriert sein, um die resultierende Segmentierung anzuzeigen. Der eine oder die mehreren Prozessoren können konfiguriert sein, um den mindestens einen Segmentierungsparameter anzuzeigen. In einigen Ausführungsformen kann der mindestens eine Segmentierungsparameter einen oder mehrere Parameter umfassen aus der Gruppe, bestehend aus: Polarität („polarity”), Zeilenfeinheit („line refinement”), Winkelsuchbereich („angle search range”), Schrägstellungssuchbereich („skew search range”), Normierungsmodus („normalization mode”), Strichstärke („stroke width”), Binärisierungsschwellenwert („binarization threshold”), Grenzfragmente („border fragments”), Pixelzählwert („pixel count”), Fragmentkontrastschwellenwert („fragment contrast threshold”), Zeichenhöhe („character height”), Zeichenbreite („character width”), Abstand zwischen zwei benachbarten Zeichen („intercharacter gap”), Abstand innerhalb eines Zeichens („intracharacter gap”), Fragmentabstand zur Hauptlinie („Fragment distance to main line”), Fragmentmischungsmodus („Fragment merge mode”), minimaler Zeichenaspekt („minimum character aspect”), Zeichenbreitentyp („character width type”), Analysemodus („analysis mode”), Abstandsmetrik („pitch metric”), Abstandsart („pitch type”), minimaler Abstand („minimum pitch”), Leerzeicheneinfügung („space insertion”) und Breite des Leerzeichens („width of space character”). Der eine oder die mehreren Prozessoren können konfiguriert sein, um mindestens ein trainiertes Bild anzuzeigen.
  • Die Details der einen oder den mehreren Implementierungen werden in den beigefügten Figuren und der folgenden Beschreibung weiter ausgeführt. Andere Merkmale und Vorteile werden in der Beschreibung, den Figuren und den Ansprüchen offenbart.
  • Kurze Beschreibung der Figuren
  • 1 ist eine schematische Ansicht eines Bildgebungsprozesses, welcher an ein verteiltes Computernetzwerk gekoppelt ist;
  • 2 ist ein Systemdiagramm entsprechend einer Ausführungsform des Bildgebungsprozesses von 1;
  • 3 ist ein Flussdiagramm, welches eine Ausführungsform des Bildgebungsprozesses von 1 darstellt;
  • 4 ist ein Flussdiagramm, welches eine Ausführungsform des Bildgebungsprozesses von 1 darstellt;
  • 5 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 6 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 7 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 8 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 9 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 10 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 11 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 12 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 13 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 14 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 15 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 16 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 17 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 18 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 19 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 20 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 21 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 22 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 23 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 24 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 25 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 26 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 27 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 28 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 29 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 30 ist eine schematische Ansicht, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 31 ist eine schematische Ansicht, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 32 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 33 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 34 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 35 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 36 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 37 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 38 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 39 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 40 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 41 ist eine schematische Ansicht eines Bilds, welches mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist;
  • 42 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist; und
  • 43 ist eine graphische Benutzerschnittstelle, welche mit einer Ausführungsform des Bildgebungsprozesses von 1 verknüpft ist.
  • Gleiche Referenzzeichen in verschiedenen Figuren können gleiche Elemente bezeichnen.
  • Detaillierte Beschreibung der Ausführungsformen
  • Systemüberblick
  • Ausführungsformen der vorliegenden Offenbarung können verwendet werden, um einen Benutzer bei der Konfiguration optischer Zeichenerkennungsparameter für eine gegebene Anwendung (z. B. eine maschinelle Sichtanwendung („Machine Vision Application”)) zu unterstützen. Im Allgemeinen ist die Konfiguration von OCR-Parametern für eine Anwendung sehr schwierig, besonders für einen neuen Benutzer. Z. B. wenn ein Benutzer einen Bereich um die OCR-Zeichenkette zieht und wenn der Segmentierungsprozess die Zeichen nicht korrekt findet, kann es sein, dass der Benutzer nicht weiß, wie er optimalerweise weiter verfahren soll. Dementsprechend können Ausführungsformen, welche hierin offenbart sind, verwendet werden, um den Benutzer zu unterstützen, indem OCR-Parameter so automatisch wie möglich konfiguriert werden. Ausführungsformen, welche hierin offenbart sind, umfassen einen interaktiven/inkrementellen Ansatz zum Selektieren von Segmentierungsparametern für OCR. Ausführungsformen, welche hierin offenbart sind, umfassen ebenfalls die Fähigkeit die Gleichartigkeit der Segmentierungsergebnisse zu prüfen und die Fähigkeit, eine spezielle Konfiguration automatisch zu verwerfen, wenn diese die besagte Gleichartigkeit verletzt. Ausführungsformen, welche hierin offenbart sind, gestatten ebenfalls die automatische Selektion von Segmentierungsparametern auf der Basis von spezifischen statistischen Eigenschaften guter Zeichen.
  • In 1 ist ein Bildgebungsprozess 10 gezeigt, welcher auf einem Computer 12 gespeichert sein kann und von dem Computer 12 ausgeführt werden kann, wobei der Computer 12 mit einem Netzwerk 14 (z. B. dem Internet oder einem lokalen Netzwerk („Local Area Network”)) verbunden sein kann. Beispiele des Computers 12 können umfassen, sind aber nicht beschränkt auf einen einzelnen Servercomputer, eine Reihe von Servercomputern, einen einzelnen Personal-Computer, eine Reihe von Personal-Computern, einen Mini-Computer, einen Main-Frame-Computer und/oder eine EDV-Cloud („Computing Cloud”). Die verschiedenen Komponenten des Computers 12 können ein oder mehrere Betriebssysteme ausführen, beispielhaft, aber nicht einschränkend, seien hier genannt: Microsoft Windows ServerTM; Novell NetwareTM; Redhat LinuxTM, Unix oder ein benutzerspezifisches Betriebssystem.
  • Die Sätze von Anweisungen und Subroutinen des Bildgebungsprozesses 10, welche auf einer Speichervorrichtung 16 gespeichert sein können, die mit dem Computer 12 gekoppelt ist, können durch einen oder mehrere Prozessoren (nicht gezeigt) und von einer oder mehreren Speicherarchitekturen (nicht gezeigt), welche in dem Computer 12 enthalten sind, ausgeführt werden. Die Speichervorrichtung 16 kann umfassen, ist aber nicht beschränkt auf: ein Festplattenlaufwerk; ein Flash-Laufwerk, ein Bandlaufwerk, ein optisches Laufwerk, ein RAID-Array, einen Speicher mit wahlfreiem Zugriff (RAM, random access memory) und einen Nur-Lese-Speicher (ROM, read-only memory).
  • Das Netzwerk 14 kann mit einem oder mehreren Sekundärnetzwerken (z. B. einem Netzwerk 18) verbunden sein, wobei Beispiele desselben umfassen können, aber nicht beschränkt sind auf ein lokales Netzwerk („Local Area Network”), ein Weit-Verkehrs-Netzwerk („Wide Area Network”) oder ein Intranet.
  • Auf dem Bildgebungsprozess 10 kann von Client-Anwendungen 22, 24, 26, 28 zugegriffen werden. Beispiele für die Client-Anwendungen 22, 24, 26, 28 können umfassen, sind aber nicht beschränkt auf einen Standard-Webbrowser, einen angepassten Webbrowser oder eine kundenspezifische Anwendung. Die Sätze von Anweisungen und Subroutinen der Client-Anwendungen 22, 24, 26, 28, welche auf Speichervorrichtungen 30 bzw. 32 bzw. 34 bzw. 36 gespeichert sein können und welche mit elektronischen Client-Vorrichtungen 38 bzw. 40 bzw. 42 bzw. 44 gekoppelt sind, können von einem oder mehreren Prozessoren (nicht gezeigt) und von einer oder mehreren Speicherarchitekturen (nicht gezeigt), welche in den elektronischen Client-Vorrichtungen 38 bzw. 40 bzw. 42 bzw. 44 enthalten sind, ausgeführt werden.
  • Die Speichervorrichtungen 30, 32, 34, 36 können umfassen, sind aber nicht beschränkt auf Festplattenlaufwerke, Flash-Laufwerke, Bandlaufwerke, optische Laufwerke, RAID-Arrays, Speicher mit wahlfreiem Zugriff (RAM, random access memories) und Nur-Lese-Speichern (ROM, read-only memories). Beispiele für elektronische Client-Vorrichtungen 38, 40, 42, 44 können umfassen, sind aber nicht beschränkt auf einen Personal-Computer 38, einen Laptop-Computer 40, ein Smartphone 42, einen Notebook-Computer 44, einen Server (nicht gezeigt), ein datentaugliches Mobiltelefon (nicht gezeigt) und/oder eine geeignete Netzwerkvorrichtung (nicht gezeigt).
  • Die eine oder mehreren Client-Anwendungen 22, 24, 26, 28 können konfiguriert sein, um auf einige oder alle Funktionalitäten des Bildgebungsprozesses 10 einzuwirken. Dementsprechend kann der Bildgebungsprozess 10 eine rein Server-seitige Anwendung, eine rein Client-seitige Anwendung oder eine Server-seitige/Client-seitige Hybridanwendung sein, welche in Kooperation von einer oder mehreren Client-Anwendungen 22, 24, 26, 28 und dem Bildgebungsprozess 10 ausgeführt wird.
  • Benutzer 46, 48, 50, 52 können auf den Computer 12 und den Bildgebungsprozess 10 direkt über das Netzwerk 14 oder über das Sekundärnetzwerk 18 zugreifen. Des Weiteren kann der Computer 12 mit dem Netzwerk 14 über das Sekundärnetzwerk 18 verbunden sein, wie mit der gestrichelten Verbindungslinie 54 gezeigt.
  • Die verschiedenen elektronischen Client-Vorrichtungen können direkt oder indirekt mit dem Netzwerk 14 (oder dem Netzwerk 18) verbunden werden. Z. B. wird der Personal-Computer 38 als direkt mit dem Netzwerk 14 über eine kabelgebundene Netzwerkverbindung verbunden dargestellt. Des Weiteren wird der Notebook-Computer 44 als direkt mit dem Netzwerk 18 über eine kabelgebundene Netzwerkverbindung verbunden dargestellt. Der Laptop-Computer 40 ist als drahtlos mit dem Netzwerk 14 über einen drahtlosen Kommunikationskanal 56 gekoppelt dargestellt, wobei der drahtlose Kommunikationskanal 56 zwischen dem Laptop-Computer 40 und dem drahtlosen Zugangspunkt (d. h. WAP) 58 eingerichtet ist, wobei der drahtlose Zugangspunkt 58 als direkt mit dem Netzwerk 14 gekoppelt dargestellt ist. WAP 58 kann z. B. ein IEEE 802.11a, 802.11b, 802.11g, Wi-Fi und/oder eine Bluetooth-Vorrichtung sein, welche geeignet ist einen drahtlosen Kommunikationskanal 56 zwischen dem Laptop-Computer 40 und dem WAP 58 einzurichten. Das Smartphone 42 ist so dargestellt, dass es drahtlos mit dem Netzwerk 14 über einen drahtlosen Kommunikationskanal 6o gekoppelt ist, welcher zwischen dem Smartphone 42 und dem Mobiltelefonnetzwerk/Brücke 62 eingerichtet ist, welche direkt mit dem Netzwerk 14 gekoppelt ist.
  • Wie aus dem Stand der Technik bekannt, können alle IEEE 802.11X-Spezifikationen das Ethernet-Protokoll und Mithören bei Mehrfachzugriff mit Kollisionsvermeidung (CSMA/CA, carrier sense multiple access with collision avoidance) zur gemeinsamen Pfadbenutzung verwenden. Die verschiedenen 802.11X-Spezifikationen können zum Beispiel Phasenumtastungsmodulation (PSK, phase-shift keying) oder komplementäre Codeumtastungsmodulation (CCK, complementary code keying) verwenden. Wie es aus dem Stand der Technik bekannt ist, ist Bluetooth eine Spezifikation der Telekommunikationsindustrie, welche es z. B. Mobiltelefonen, Computern und Smartphones gestattet, unter Verwendung einer drahtlosen Kurzstreckenverbindung miteinander verbunden zu werden.
  • Elektronische Client-Vorrichtungen 38, 40, 42, 44 können jeweils ein Betriebssystem ausführen, wobei Beispiele derselben umfassen können, aber nicht beschränkt sind auf Apple iOSTM, Microsoft WindowsTM, AndroidTM, Redhat LinuxTM oder ein benutzerspezifisches Betriebssystem.
  • In 2 wird eine beispielhafte Ausführungsform bereitgestellt, welche ein maschinelles Sichtsystem 100 zeigt, welches zur Verwendung mit dem Bildgebungsprozess 10 konfiguriert ist. Es soll angemerkt werden, dass eine Vielzahl von Systemimplementierungen in alternativen Ausführungsformen eingesetzt werden kann, ohne den Bereich der vorliegenden Offenbarung zu verlassen. Wie es im Folgenden noch detaillierter beschrieben werden wird, können Ausführungsformen des Bildgebungsprozesses 10, welche hierin beschrieben sind, allgemein eingesetzt werden, um automatisch Segmentierungsparameter für ein oder mehrere Zeichen, welche mit einer gegebenen Zeichenkette verknüpft sind, einzustellen. Der Bildgebungsprozess, welcher hierin beschrieben ist, kann zu jeder beliebigen geeigneten Zeit während des Inspektionsprozesses eingesetzt werden. Zum Beispiel können in einigen Ausführungsformen Aspekte des Bildgebungsprozesses im Anschluss an die allgemeine Positionierung/Registrierung eines Livebilds oder eines Laufzeitobjektbilds relativ zu einem Modell oder einem Trainingsbild des Objekts und vor, während oder nach einer Inspektion des Laufzeitobjekts oder Merkmals auftreten.
  • In einigen Ausführungsformen kann das maschinelle Sichtsystem 100 eine Bildgebungsvorrichtung 110 umfassen, welche eine Kamera sein kann, welche einen Onboard-Prozessor (nicht gezeigt) und einen Speicher (nicht gezeigt) umfasst, welche geeignet sind, eine maschinelle Sichtanwendung 112 auszuführen. Geeignete Schnittstellen, Alarme und Signale können installiert sein in und/oder können verbunden sein mit der Kamerabildgebungsvorrichtung 110, so dass diese in der Lage ist, auf einen wahrgenommen Fehler, welcher während der Inspektion eines zugrunde liegenden Objekts 120 detektiert wurde, zu antworten. In dieser Ausführungsform ist ein Förderer („conveyor”) 122 gezeigt, welcher eine Mehrzahl von Objekten 120 umfasst. Diese Objekte wiederrum können das vorgegebene Sichtfeld (FOV, field of view) der Bildgebungsvorrichtung 110 während eines Inspektionsprozesses passieren. So kann die Bildgebungsvorrichtung 110 mindestens ein Bild jedes beobachteten Objekts 120 erlangen.
  • In einigen Ausführungsformen kann ein gewöhnlicher Mikrocomputer 130 jede geeignete Computervorrichtung sein, wie z. B. der Computer 12, wie in 1 gezeigt. Der Computer 130 kann Komponenten einer graphischen Benutzerschnittstelle umfassen, wie z. B. eine Mouse 132, eine Tastatur 134 und eine Anzeige 136. Andere Arten von Schnittstellen können in alternativen Ausführungsformen ebenfalls eingesetzt werden, wie z. B. persönliche digitale Assistenten (PDA, Personal Digital Assistant). In einigen Ausführungsformen kann die Bildgebungsvorrichtung 110 die ganze Zeit über mit dem Computer 130 verbunden sein, insbesondere dann, wenn der Computer die Bildverarbeitungsfunktionen durchführt. Zusätzlich und/oder alternativ kann der Prozessor in den Bildgebungsvorrichtungen, wie z. B. solche der Insight® Produktlinie, einen unabhängigen Betrieb der vorrichtungsfreien Verbindung mit einem Remote-Computer gestatten. In dieser Ausführungsform kann der Computer 130 verbunden sein und/oder kommunizieren mit der Bildgebungsvorrichtung 110 im Zuge der Vorrichtungseinrichtung, des Testens und der Analyse des laufenden Betriebs.
  • In einigen Ausführungsformen können Daten, welche mit einem Modell oder einem Trainingsbild 140 verknüpft sind, in Verbindung mit dem Computer 130 in einem Scheibenspeicher („disk storage”) 142 gespeichert sein und kann in dem Onboard-Speicher der Bildgebungsvorrichtung 110 gespeichert sein. Diese Daten können Daten umfassen, welche mit dem Bildgebungsprozess 10 verknüpft sind, welcher gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung eingesetzt werden kann.
  • Wie in 3 gezeigt und wie es noch detaillierter im Folgenden diskutiert werden wird, kann der Bildgebungsprozess 10 ein Empfangen 302 eines Bildes umfassen, welches eine Zeichenkette aufweist, welche ein oder mehrere Zeichen umfasst. Das Bildgebungsverfahren 10 kann ebenfalls ein Empfangen 304 einer Zeichenkette umfassen, welche jedes der einen oder mehreren Zeichen identifiziert. Der Bildgebungsprozess 10 kann ebenfalls ein automatisches Erzeugen 306 von mindestens einem Segmentierungsparameter umfassen. Der Bildgebungsprozess 10 kann ein Durchführen einer Segmentierung 308 des Bildes umfassen, welches die Zeichenkette aufweist, unter Verwendung des mindestens einen Segmentierungsparameters. Der Bildgebungsprozess 10 kann ebenfalls ein Bestimmen 310 umfassen, ob eine resultierende Segmentierung ein oder mehrere Kriterien erfüllt und wenn die resultierende Segmentierung das eine oder die mehreren Kriterien erfüllt, ein Auswählen 312 des mindestens einen Segmentierungsparameters. Der Bildgebungsprozess 10 kann ebenfalls ein Anzeigen 314 von mindestens einem Teil des Bildes auf einer oder mehreren Computervorrichtungen umfassen.
  • Ausführungsformen, welche hierin offenbart sind, sind auf ein computerimplementiertes Verfahren zur optischen Zeichenerkennung gerichtet, welche mit einer maschinellen Sichtinspektion verknüpft ist. In einigen Ausführungsformen kann der Bildgebungsprozess konfiguriert sein, viele Einschränkungen der bestehenden Ansätze zu adressieren. Zum Beispiel adressieren einige bestehende Ansätze das Konfigurationsproblem durch ein vorgeschaltetes Einüben einer Mehrzahl von Schriftarten, wobei die Ansätze das OCR-Werkzeug dazu veranlassen, viele Schriftarten zu prüfen, um zu bestimmen, welche die korrekte ist. Es kann dann andere Parameter schätzen, wie z. B. Werte für Segmentierungsparameter. Dieser Ansatz ist eingeschränkt, weil die ausgewählte Schriftart nicht perfekt passen kann, was zu suboptimalen Entscheidungen bzgl. der Parameter führen kann.
  • 4 zeigt ein Flussdiagramm 400, welches eine Ausführungsform des Bildgebungsprozesses 10 zeigt. Wie in 4 gezeigt, kann der Bildgebungsprozess 10 einen inkrementellen Prozess verwenden, welcher eine automatische Segmentierung und automatische Einstellfähigkeiten aufweist. In einigen Ausführungsformen kann es der Bildgebungsprozess 10 einem Benutzer gestatten, ein OCR-Werkzeug mit minimalen Informationen seitens des Benutzers iterativ zu konfigurieren. Das Endergebnis ist ein voll konfiguriertes und trainiertes OCR-Werkzeug. Dementsprechend und wie in 4 gezeigt, kann der Bildgebungsprozess 10 ein Bild 402 empfangen, welches eine Zeichenkette aufweist, welche ein oder mehrere Zeichen umfasst. Der Bildgebungsprozess 10 kann dem Benutzer eine Option bereitstellen, um den Bildgebungsprozess 10 mit der „Run OCR Max”-Option 404 fortzusetzen. Der Bildgebungsprozess 10 kann ebenfalls eine vom Benutzer wählbare Option 406 bereitstellen, welche mit der Segmentierung verknüpft ist. In einigen Ausführungsformen kann die vom Benutzer wählbare Option konfiguriert sein, es einem Benutzer zu erlauben, eine korrekte Segmentierung oder eine inkorrekte Segmentierung anzuzeigen. Wenn die Segmentierung korrekt ist, kann dem Benutzer eine Option 408 bereitgestellt werden, um eine korrekte Klassifizierung oder eine inkorrekte Klassifizierung anzuzeigen. Wenn die Klassifizierung korrekt ist, kann der Bildgebungsprozess 10 mit einer automatischen Einstellung 414 fortfahren, wie es detaillierter im Folgenden beschrieben wird. Wenn die Klassifizierung inkorrekt ist, kann dem Benutzer eine Option 420 bereitgestellt werden, um die Zeichenkette zu spezifizieren.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 automatische Segmentierungsfähigkeiten 410 bereitstellen, wie es im Folgenden im Detail beschrieben wird, wenn die Segmentierung inkorrekt ist. Nach der automatischen Segmentierung kann dem Benutzer über eine Option 412 eine Option bereitgestellt werden zum Anzeigen, ob die Segmentierungsergebnisse korrekt waren. Wenn eine korrekte Segmentierung gefunden wurde, kann der Bildgebungsprozess 10 mit einem automatischen Einstellen 414 fortfahren. Wenn keine korrekte Segmentierung gefunden wurde, kann dem Benutzer eine Option bereitgestellt werden zum Identifizieren, ob das Bild schlecht ist. Wenn dem so ist, kann der Bildgebungsprozess 10 ein oder mehrere zusätzliche Bilder empfangen, wobei jedes eine zusätzliche Zeichenkette aufweist. Wenn dem nicht so ist, kann der Bildgebungsprozess 10 dem Benutzer eine vom Benutzer wählbare Option 424 bereitstellen, welche konfiguriert ist, um es dem Benutzer zu gestatten, eine Segmentierung manuell zu erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 verwendet werden, um eine Zeichendatenbank zu erzeugen, welche zumindest in Teilen die erste Zeichenkette und/oder die zusätzliche Zeichenkette verwendet. Sobald der Bildgebungsprozess 10 eine Anzeige einer korrekten Segmentierung für die Zeichenkette empfangen hat, kann der zugehörige korrekte Satz von Segmentierungsparametern für den weiteren Gebrauch gespeichert werden. Dementsprechend kann der Bildgebungsprozess 10 den korrekten Satz von Segmentierungsparametern für zukünftige Zeichenketten anwenden. Der korrekte Satz von Segmentierungsparametern kann dann eingestellt werden und ein optimaler Satz von Segmentierungsparameterwerten kann gefunden werden, um verwendet zu werden. Neue Zeichen der Schriftart können dann extrahiert werden und ein Klassifizierer kann trainiert und verwendet werden. Auf diese Weise kann der Bildgebungsprozess 10 fortfahren bis der Benutzer das Vertrauen gewinnt, dass die Schriftart vollständig trainiert ist und die aktuellen Segmentierungsparameter geeignet arbeiten. Die Schriftart und die Segmentierungsparameter können kopiert werden und der Auto-Einstellprozess („auto tuning process”) kann fortfahren.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 viele der Probleme adressieren, mit welchen ein Benutzer konfrontiert werden kann, wenn er ein OCR-Werkzeug konfiguriert. Im Betrieb, wenn der Benutzer einen Bereich um eine Zeichenkette in einem Bild zieht und die Standardsegmentierungsparameter nicht korrekt arbeiten, kann der durchschnittliche Benutzer eine schwierige Zeit haben, um herauszuarbeiten, welcher Parameter für eine korrekte Segmentierung zu verändern ist. Zum Beispiel kann in bestehenden Systemen ein Segmentierungswerkzeug verschiedene Segmentierungsparameter umfassen, wobei jeder von diesen eine manuelle Veränderung benötigen kann. Das in 5 dargestellte Bild zeigt ein Beispiel eines Falls, wo die Standardparameter bei der korrekten Segmentierung der Zeichen versagt haben.
  • 6 zeigt eine Ausführungsform einer graphischen Benutzerschnittstelle 600, welche gemäß dem Bildgebungsprozess 10 verwendet werden kann. Im Betrieb kann der Benutzer die Zeichenkette unter Verwendung des Textfelds 602 spezifizieren. Die graphische Benutzerschnittstelle (graphichal user interface, GUI) 600 kann den automatischen Segmentierungs-Algorithmus aktivieren, indem er die automatische Segmentierungsfunktion 604 auswählt. Die GUI 600 kann es dem Benutzer ebenfalls erlauben, eine manuelle Segmentierung über die manuelle Segmentierungsfunktion 606 durchzuführen.
  • In einigen Ausführungsformen kann der automatische Segmentierungs-Algorithmus, welcher mit dem Bildgebungsprozess 10 verknüpft ist, über eine Vielzahl von Segmentierungsparameterkombinationen durchgeführt werden und kann eine Mehrzahl von Segmentierungsparametern und Parameterkombinationen erforschen, welche dieselbe Anzahl an Segmenten entsprechend der Länge der Zeichenkette finden. Die Segmentierungsparameter werden unten noch detaillierter beschrieben. Wie hierin beschrieben, kann sich die Formulierung „Anwenden mindestens eines Segmentierungsparameters auf die Zeichenkette” auf die Durchführung einer Segmentierung des Bilds der Zeichenkette unter Verwendung mindestens eines Segmentierungsparameters beziehen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 zusätzlich zum Identifizieren der korrekten Anzahl der Segmente weiterhin konfiguriert sein, bestimmte Ergebnisse zu verwerfen basierend auf der Nicht-Einheitlichkeit der Zeichen. Z. B. kann für eine gegebene ASCII-Darstellung der Zeichen bestimmt werden ob die Zeichenkette eine bestimmte Beschaffenheit aufweist, wie z. B. geschmälert, kurz oder weit. In einigen Ausführungsformen kann das Ergebnis verworfen werden, wenn die Zeichenkette nicht irgendwelche speziellen Zeichen enthält, wobei alle Bereichsbreiten und -höhen dieselbe Größe aufweisen müssen (oder innerhalb einer vorgegebenen Toleranz). Wenn die Zeichenkette ein spezielles Zeichen enthält, können die individuellen Zeichengrößen hinsichtlich der Gleichförmigkeit geprüft werden. Mehrere Beispiele von nicht gleichförmigen und verworfenen Ergebnissen sind in den 79 gezeigt.
  • In 10 ist eine Ausführungsform einer graphischen Benutzerschnittstelle 1000 und eines verknüpften Bilds gezeigt. Dementsprechend kann der automatische Segmentierungs-Algorithmus, welcher mit dem Bildgebungsprozess 10 verbunden ist, ein oder mehrere möglicherweise korrekte Ergebnisse zur Anzeige für den Benutzer ausführen und erzeugen, wie in 10 gezeigt. Im Betrieb kann der Benutzer das eine Ergebnis auswählen, welches korrekt aussieht und das OK-Symbol anwählen, welches mit der GUI 1000 verknüpft ist. Der zweite Teil des Algorithmus kann nun durchgeführt werden. Auf diesen Weg kann der Auto-Einstell-Algorithmus die besten und/oder optimalen Segmentierungsparameter identifizieren, um für dieses spezielle Bild eingesetzt zu werden. Die aktuelle Aufzeichnung kann zu dem Modell hinzugefügt werden und jedes einzelne Zeichen kann extrahiert werden und eine Schriftart kann für die Klassifizierung trainiert werden. Das Bild, welches in 11 gezeigt ist, zeigt das Ergebnis des laufenden Bildgebungsprozesses 10 nach diesem Vorgang mit den korrekt segmentierten und klassifizierten Zeichen.
  • 1214 zeigen Ausführungsformen von graphischen Benutzerschnittstellen 12001400. GUI 1200 zeigt die Zeichen, welche während des Bildgebungsprozesses 10 für diese spezielle Schriftart extrahiert wurden. Wenn die Segmentierung für das nächste Bild fehlschlägt, kann der Benutzer eine oder mehrere Tätigkeiten wiederholen, wie oben gezeigt und wie in 1314 gezeigt.
  • 1516 zeigen eine Ausführungsform einer graphischen Benutzerschnittstelle 1500. Wie in 15 gezeigt, können die extrahierten besten Segmentierungsparameter auf vorangegangene Aufzeichnungen zusätzlich zu den Neuen angewendet werden, sobald eine neue Aufzeichnung zu dem Modell hinzugefügt wurde. Wie in diesem Beispiel gezeigt, enthält die Schriftart nun das Zeichen „–” wie in 16 gezeigt.
  • In einigen Ausführungsformen kann es der Bildgebungsprozess 10 dem Benutzer gestatten, eine spezielle Zeichenkette manuell zu editieren. In diesem speziellen Beispiel kann der automatische Segmentierungs-Algorithmus basierend auf den bewährten korrekten Bereichen der Zeichen ausgeführt werden, wenn die Bereiche manuell editiert und korrigiert wurden. 17 zeigt ein Beispiel, wo die bewährten Segmentierungsparameter den Zeichen „8” nicht korrekt segmentieren. Dementsprechend kann der Benutzer die manuelle Segmentierungsfunktion 1706 anwählen und den Bereich um das Zeichen „8” anpassen, um das gesamte Zeichen zu umschließen, wie es in 18 gezeigt ist. Nach dem Auswählen von OK, kann der automatische Segmentierungs-Algorithmus unter Verwendung des korrekten Ortes und der korrekten Größe jedes Segments ausgeführt werden. Dementsprechend kann der automatische Segmentierungs-Algorithmus, welcher mit dem Bildgebungsprozess 10 verknüpft ist, unterschiedliche Kombinationen von Segmentierungsparametern erforschen und diese auf die aktuelle Aufzeichnung anwenden, wie es in den 1920 gezeigt ist. Für jedes Ergebnis, welches (korrekt oder inkorrekt) berechnet wurde, kann es die sich ergebenden Bereiche mit den bewährten korrekten Bereichen vergleichen.
  • Einige mögliche Szenarien können umfassen, sind aber nicht beschränkt auf ein Identifizieren einer guten Übereinstimmung zwischen einem bewährten korrekten Bereich und einem resultierenden Bereich innerhalb einer Toleranz (z. B. standardmäßig 80% Bereichsüberlappung). In diesem speziellen Beispiel können verschiedene unterschiedliche Arten von Informationen für gute Elemente extrahiert werden, wie min-max, Pixelzählwerte, Breite, Höhe etc. In einigen Ausführungsformen kann in dem Ergebnis ein Bereich vorliegen, welcher nicht in den bewährten korrekten Bereichen existiert. In diesem speziellen Beispiel können verschiedene Daten für zusätzliche Elemente extrahiert werden. Zusätzlich und/oder alternativ kann ein Bereich in den bewährten korrekten Bereichen vorliegen, welcher in dem Ergebnis nicht existiert. In diesem speziellen Beispiel können verschiedene Daten für fehlende Elemente unter Verwendung des goldenen Bereichs extrahiert werden und können zu guten Elementen hinzugefügt werden. Zusätzlich und/oder alternativ kann eine schlechte Übereinstimmung zwischen den beiden Bereichen vorliegen (z. B. kann die Bereichsüberlappung geringer sein als die Toleranz). In diesem speziellen Beispiel können verschiedene Daten unter Verwendung der bewährten korrekten Bereiche für gute Elemente extrahiert werden. Diese statistischen Daten können mit allen statistischen Daten für die Aufzeichnungen in dem Modell kombiniert werden, soweit vorhanden. In einigen Ausführungsformen können die Segmentierungsparameter modifiziert werden, um Zusatzelemente auszuschließen und um gute Elemente einzuschließen. Für einige Segmentierungsparameterkombinationen kann dies ein Ergebnis erzeugen, in dem alle Bereiche mit den bewährten korrekten Bereichen zusammenpassen. Das am besten übereinstimmende Ergebnis kann selektiert werden und dem Modell hinzugefügt werden. Die meisten korrekten Segmentierungsparameter können dann zusätzlich zu den Schriftartzeichen extrahiert werden.
  • In einigen Ausführungsformen kann die optimale Anzahl der Schriftartzeichen extrahiert werden, um erfolgreich alle Zeichen der Aufzeichnungen in diesem Modell zu extrahieren, wie die Anzahl der Aufzeichnungen in dem Modell ansteigt. Wenn eine zweite Instanz eines Zeichens nicht korrekt klassifiziert ist, weil es zu sehr von den Trainierten abweicht, kann es zu der Schriftart hinzugefügt werden. Auf diese Weise kann der Benutzer bestätigen, dass seine/ihre Schriftart auf alle Aufzeichnungen funktioniert.
  • Wie hier erläutert, kann der Bildgebungsprozess 10 eine oder mehrere Segmentierungsparameter umfassen. Einige Segmentierungsparameter können umfassen, sind aber nicht beschränkt auf solche, welche unten beschrieben werden, welche nur im Sinne eines Beispiels bereitgestellt werden und keine abschließende Liste darstellen.
  • In einigen Ausführungsformen können die Segmentierungsparameter die Polarität („polarity”) umfassen. Z. B. die Polarität aller Zeichen in dem eingegebenen Bild.
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. den Zeilenfeinheitsmodus („line refinement mode”) umfassen, welcher die zu verwendende Zeilenfeinheitstechnik spezifizieren kann. Der Zeilenfeinheitsmodus kann entweder ein klassischer Modus oder ein Standard sein.
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. den Winkelsuchbereich („angle search range”) umfassen, welcher der Hälfte des Winkelsuchbereichs in Grad entspricht. Dies ist der Winkel relativ zu dem Winkel des Suchbereichs, welcher für die Zeile verwendet wird, welche über den Bereich gesucht wird.
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. einen Schrägstellungsbereich („skew range”) umfassen, welcher der Hälfte des Schrägstellungssuchbereichs in Grad entspricht. Dies ist der Schrägstellungsswinkel, welcher für die Zeile verwendet wird und welcher über den Bereich relativ zu der Schrägstellung des Suchbereichs gesucht werden kann.
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. den Normierungsmodus („normalization mode”) umfassen, welcher das Verfahren spezifizieren kann, welches verwendet wird um das eingegebene Bild zu normieren. Er kann eingestellt werden auf globalen Schwellenwert, lokalen Schwellenwert oder lokal fortgeschritten („local advanced”).
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. die Strichstärke („stroke width”) umfassen, welche spezifizieren kann ob von dem normierten Bild alles entfernt werden kann, was nicht dieselbe Strichstärke aufzuweisen scheint, wie der Rest des Bildes. Dies kann sinnvoll sein z. B. wenn Zeichen über dünne Rauschstreifen miteinander verbunden zu sein scheinen.
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. einen Binärisierungsschwellenwert („binarization threshold”) aufweisen, der einen Modifizierer spezifizieren kann, welcher verwendet wird um den Binärisierungsschwellenwert in dem normierten Bild zu berechnen, welcher zwischen Vordergrund und Hintergrund binärisiert.
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. Grenzfragmente („border fragments”) umfassen, welche spezifizieren können, ob beliebige Fragmente vollständig ignoriert werden können, die eine beliebige Grenze des Suchbereichs berühren.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Fragmentpixelzählwert (fragment Pixel count”) umfassen, z. B. die minimale Anzahl von Vordergrund-(z. B. Text-)Pixeln, welche ein Zeichenfragment haben kann, um als mögliche Aufnahme in ein Zeichen angesehen zu werden. Ein Zeichenfragment kann ein Tropfen in dem binärisierten Bild sein.
  • In einigen Ausführungsformen können die Segmentierungsparameter z. B. die minimale Anzahl von Vordergrund-(z. B Text-)Pixeln („minimum number of foreground pixels”) umfassen, welche ein Zeichen haben muss, um berichtet zu werden.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Fragmentkontrastschwellenwert („fragment contrast threshold”) umfassen, z. B. die minimale Kontrastmenge (z. B. in normierten Bildgraustufen), welche ein Fragment relativ zu dem Binärisierungsschwellenwert haben muss, um als mögliche Aufnahme in ein Zeichen betrachtet zu werden.
  • In einigen Ausführungsformen können die Segmentierungsparameter eine Zeichenhöhe („character height”) enthalten, z. B. die minimale Höhe eines Zeichenmarkierungsrechtecks in Pixeln, welche ein Zeichen haben muss, um berichtet zu werden. Segmentierungsparameter können ebenfalls umfassen, ob eine maximale Zeichenhöhenfunktion verwendet werden soll, um die maximale Höhe eines Zeichens und/oder der Zeile von Zeichen zu begrenzen. Segmentierungsparameter können eine maximal zulässige Höhe eines Zeichenmarkierungsrechtecks in Pixeln enthalten.
  • In einigen Ausführungsformen können die Segmentierungsparameter die Zeichenbreite („character width”) umfassen, z. B. die minimale Breite eines Zeichenmarkierungsrechtecks in Pixeln, welche ein Zeichen aufweisen muss, um berichtet zu werden. Segmentierungsparameter können ebenfalls die maximal gewährbare Breite eines Zeichenmarkierungsrechtecks in Pixeln umfassen. Ein Zeichen, welches breiter ist als dieser Wert kann in Teile aufgespaltet werden, welche nicht zu breit sind. Segmentierungsparameter können ebenfalls umfassen, ob eine maximale Zeichenbreitenfunktion eingesetzt werden soll, um die maximale Breite eines Zeichens zu begrenzen.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Abstand zwischen zwei benachbarten Zeichen („intercharacter gap”) umfassen, z. B. die minimale Abstandsgröße in Pixeln, welche zwischen zwei Zeichen auftreten kann. Wenn der Abstand zwischen zwei Fragmenten kleiner ist als dieser, müssen sie als Teil desselben Zeichens betrachtet werden.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Abstand innerhalb eines Zeichens („intracharacter gap”) umfassen, z. B. die maximale Abstandsgröße in Pixeln, welche innerhalb eines einzelnen Zeichens auftreten kann, sogar für beschädigte Zeichen. Ein Abstand innerhalb eines Zeichens könnte z. B. zwischen aufeinanderfolgenden Spalten von Punkten in einem Punktmatrixdruck oder zwischen zwei Teilen eines festen Zeichens auftreten, welches durch einen Kratzer beschädigt wurde. Ein Abstand, welcher größer ist als dieser Wert, kann als Trennung zwischen zwei separaten Zeichen interpretiert werden, wobei Abstände, welche geringer oder gleich diesem Wert sind, entweder als Unterbrechung zwischen zwei separaten Zeichen oder als Abstand innerhalb eines einzelnen Zeichens interpretiert werden können.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Fragmentabstand zur Hauptlinie („fragment distance to main line”) umfassen, z. B. den maximalen Abstand, welcher ein Fragment außerhalb der Hauptzeichenzeile aufweisen kann als Prozentwert der erwarteten Zeilenhöhe.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Fragmentmischungsmodus („fragment merge mode”) umfassen, welcher z. B. die Bestimmung spezifizieren kann, ob zwei Fragmente während des Gruppierungsstadiums in ein Zeichen vereinigt werden sollen. Dieser Modus kann auf requireOverlap (z. B. Zeichenfragmente müssen horizontal in mindestens einem zu vermischenden Pixel überlappen) eingestellt werden. Es kann ebenfalls auf specifyMinIntercharacterGap (z. B. Zeichenfragmente mit einem horizontalen Abstand zwischen sich können vereinigt werden, um Zeichen zu formen, wobei beliebige zwei Fragmente mit einem Abstand geringer als MinIntercharacterGap vereinigt werden können) eingestellt werden. Es kann auch auf specifyGaps (z. B. Zeichenfragmente mit einem horizontalen Abstand zwischen sich können vereinigt werden, um Zeichen zu bilden, mit der Entscheidung, zwei Fragmente zu verschmelzen basierend sowohl auf MinIntercharacterGap und maxIntracharacterGap) eingestellt werden.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen minimalen Zeichenaspekt („minimum character aspect”) umfassen, welcher z. B. spezifizieren kann, ob breite Zeichen aufgeteilt werden.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Zeichenbreitentyp („character width type”) umfassen, welcher z. B. spezifizieren kann, wie die Breiten der Zeichen in der Schriftart variieren können. Es ist zu beachten, dass die Zeichenbreite die Breite des Markierungsrechtecks ist (z. B. die Zeichenbox der Tinte), nicht das Zellenrechteck (welches typischerweise eine Auffüllung um das Markierungsrechteck einschließen würde). Der Breitentyp kann eingestellt werden auf „unbekannt”, „fest” oder „variabel”.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen Analysemodus („analysis mode”) umfassen, welcher spezifizieren kann, ob z. B. eine „Minimalanalyse” oder eine „Standardanalyse” durchgeführt werden soll. Die Minimalanalyse kann eine gradlinige Segmentierung gemäß den oben genannten Parametern durchführen. Die Standardanalyse führt eine Analyse der Zeile als Ganzes durch einschließlich z. B. der Zeichenabstände, um die optimale Segmentierung zu bestimmen.
  • In einigen Ausführungsformen können die Segmentierungsparameter eine Abstandmetrik („pitch metric”) umfassen, welche verwendet werden kann, um z. B. das Intervall der Zeichen zu spezifizieren. Es wird angemerkt, dass der Abstand der Abstand zwischen (nahezu) entsprechenden Punkten auf benachbarten Zeichen ist und nicht der Abstand zwischen dem Ende eines Zeichens und dem Beginn des nächsten Zeichens (was als „Abstand zwischen zwei benachbarten Zeichen” bezeichnet wurde). Die Abstandsmetrik kann gesetzt werden auf „unbekannt”, „leftToLeft”, „centerToCenter”, „rightToRight” etc.
  • In einigen Ausführungsformen können die Segmentierungsparameter eine Abstandsart („pitch type”) umfassen, welcher spezifizieren kann, wie z. B. individuelle Abstandswerte gemäß den Erwartungen variieren; die Abstandswerte werden gemessen, wie für die Abstandsmetrik spezifiziert. Die Abstandsart kann eingestellt werden auf „unbekannt”, „fest”, „proportional” oder „variabel”.
  • In einigen Ausführungsformen können die Segmentierungsparameter einen minimalen Abstand („minimum pitch”) umfassen, welcher z. B. den minimalen Abstand in Pixeln spezifizieren kann, welcher zwischen zwei Zeichen auftreten kann, wobei der Abstand berechnet wird, wie für die Abstandsmetrik spezifiziert.
  • In einigen Ausführungsformen können die Segmentierungsparameter eine Leerzeicheneinfügung („space insertion”) umfassen, welche z. B. spezifizieren kann, wie mit der Einfügung von Leerzeichen in Abständen zwischen anderen Zeichen umgegangen wird. Er kann eingestellt werden auf „kein Leerzeichen”, „ein Leerzeichen” oder „mehrere Leerzeichen”.
  • In einigen Ausführungsformen können die Segmentierungsparameter eine Breite des Leerzeichens („width of space character”) umfassen, welche z. B. die minimale Breite eines Leerzeichens in Pixeln spezifizieren kann. Zusätzlich und/oder alternativ können die Segmentierungsparameter die maximale Breite eines Leerzeichens umfassen, welche z. B. die maximale Breite eines Leerzeichens in Pixeln spezifizieren kann.
  • In einigen Ausführungsformen können die Segmentierungsparameter den minimalen Anteil umfassen, in welchem zwei Zeichenfragmente sich gegenseitig in der x-Richtung überlappen müssen, damit die beiden Fragmente als Teil desselben Zeichens betrachtet werden.
  • In einigen Ausführungsformen können die Segmentierungsparameter den minimal zulässigen Aspekt eines Zeichens umfassen, wobei der Aspekt definiert ist als die Höhe der gesamten Zeichenzeile geteilt durch die Breite des Zeichenmarkierungsrechtecks. Ein Zeichen, dessen Aspekt geringer ist als dieser Wert (z. B. dessen Breite zu groß ist), wird in Teile unterteilt, welche nicht zu breit sind.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 umfassen, dass die automatische Segmentierung nur korrekte Zeichenketten ausgibt und nicht-gleichförmige Ergebnisse verwirft. Der Bildgebungsprozess 10 kann ebenfalls die gegebene Zeichenkette segmentieren und bewertet korrekte Bereiche der Zeichen. Wie hierin erläutert, kann der Bildgebungsprozess 10 konfiguriert sein, um eine gegebene Schriftart von den Modellaufzeichnungen zu trainieren.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 ein Empfangen eines neuen Bildes umfassen, welches eine beispielhafte Zeichenkette und ein Empfangen einer Zeichenkette umfasst, welche die korrekten Zeichen in der Zeichenkette identifiziert, aber nicht die korrekten Segmentierungsbereiche der Zeichenkette. Der Bildgebungsprozess 10 kann konfiguriert werden, um automatisch mögliche Segmentierungen des Bildes der Zeichenkette mit verschiedenen Sätzen von Segmentierungsparametern zu erzeugen. Der Bildgebungsprozess 10 kann unter verschiedenen korrekten Segmentierungen der Zeichenkette wählen, wobei jeder von diesen mit den zu prüfenden Segmentierungsparametern („candidate segmentation parameters”) verknüpft ist und kann die Segmentierungsparameter der gewählten korrekten Segmentierung der Zeichenkette für die optische Zeichenerkennung verwenden.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 ein Empfangen eines neuen Bildes umfassen, welches eine beispielhafte Zeichenkette enthält und ein Identifizieren der korrekten Zeichen in der Zeichenkette, aber nicht die korrekte Segmentierung der Zeichenkette. Der Bildgebungsprozess 10 kann automatisch zu prüfende Sätze von Segmentierungsparametern erzeugen und die Segmentierungsergebnisse des Bildes der Zeichenkette. Der Bildgebungsprozess kann unter verschiedenen korrekten Segmentierungen der Zeichenkette auswählen, wobei jede von diesen mit den zu prüfenden Segmentierungsparametern verknüpft ist und kann alle zu prüfenden Ergebnisse durchsuchen und die Segmentierungsbereiche mit denen vergleichen, welche von dem Benutzer ausgewählt wurden, und die Segmentierungsparameter identifizieren, welche innerhalb eines bestimmten Prozentwerts ähnliche Bereiche erzeugen. Der Bildgebungsprozess 10 kann das gespeicherte Bild mit der korrekten Segmentierung der Zeichenkette zusätzlich zu allen gefundenen Segmentierungsparametern in dem Modell speichern. Der Bildgebungsprozess 10 kann die Arbeitsschritte wiederholen, welche oben identifiziert wurden bis die Segmentierungsparameter einmalig ausgewählt wurden oder für optimal befunden wurden.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 ein Empfangen eines neuen Bildes umfassen, welches eine beispielhafte Zeichenkette enthält und ein Identifizieren der korrekten Zeichen in der Zeichenkette, aber nicht die korrekte Segmentierung der Zeichenkette. Der Bildgebungsprozess 10 kann konfiguriert werden, um automatisch zu prüfende Sätze von Segmentierungsparametern und Segmentierungsergebnissen des Bildes der Zeichenkette zu erzeugen. Der Bildgebungsprozess 10 kann unter möglichen korrekten Segmentierungen der Zeichenkette auswählen, wobei jede von diesen mit den zu prüfenden Segmentierungsparametern verknüpft wurde. Wenn keine der oben genannten Wahlmöglichkeiten korrekt ist, kann der Bildgebungsprozess 10 die korrekte Segmentierung der Zeichenkette zuführen und automatisch Segmentierungsparameter bestimmen, welche die korrekte Segmentierung der Zeichenkette angeben. Der Bildgebungsprozess 10 kann das gewählte Bild mit korrekter Segmentierung der Zeichenkette in dem Modell zusätzlich zu allen gefundenen Segmentierungsparametern speichern. Der Bildgebungsprozess 10 kann die oben genannten Arbeitsschritte wiederholen bis die Segmentierungsparameter einmalig ausgewählt wurden oder für optimal befunden wurden.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 ein Ausprobieren verschiedener Segmentierungsparameter umfassen und kann Ergebnisse erzeugen, welche dieselbe Anzahl an Segmenten wie die Länge der Zeichenkette aufweisen. Der Bildgebungsprozess 10 kann mögliche Ergebnisse zurückweisen, welche nicht ein Gleichförmigkeitskriterium erfüllen, welches durch die ASCII-Darstellung der Zeichen in der Zeichenkette gegeben ist. Der Bildgebungsprozess 10 kann einen Vektor möglicher Segmentierungen des Bildes der Zeichenkette und damit verknüpfter zu prüfender Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 einen Vektor von Bildern mit korrekter Segmentierung der Zeichenkette zusätzlich zu allen im Vorfeld gefundenen Segmentierungsparametern empfangen. Der Bildgebungsprozess 10 kann alle im Vorfeld gefundenen Segmentierungsparameter ausprobieren und Ergebnisse erzeugen, welche dieselbe Anzahl an Segmenten wie die Länge der Zeichenkette aufweisen. Der Bildgebungsprozess 10 kann mögliche Ergebnisse verwerfen, welche nicht ein Gleichförmigkeitskriterium erfüllen, welches durch die ASCII-Darstellung der Zeichen in der Zeichenkette gegebenen ist. Der Bildgebungsprozess 10 kann einen Vektor von möglichen Segmentierungen des Bildes der Zeichenkette und verknüpfter zu prüfender Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 einen Vektor von Bildern mit korrekten Segmentierungen der Zeichenkette zusätzlich zu allen im Vorfeld gefundenen Segmentierungsparametern umfassen. Der Bildgebungsprozess 10 kann alle im Vorfeld gefundenen Segmentierungsparameter prüfen und Ergebnisse erzeugen, welche dieselbe Anzahl der Segmente aufweisen, wie die Länge der Zeichenkette. Wenn dies nicht für beliebige Segmentierungsparameter erfolgreich ist, kann der Bildgebungsprozess 10 die Parameter unter Verwendung statistischer Daten des vorangegangenen Durchlaufs anpassen und es auf iterativer Weise noch einmal versuchen. Der Bildgebungsprozess 10 kann mögliche Ergebnisse verwerfen, welche ein Gleichförmigkeitskriterium nicht erfüllen, welches durch die ASCII-Darstellung der Zeichen in der Zeichenkette gegeben ist. Der Bildgebungsprozess 10 kann die gespeicherten Segmentierungsparameter auf den Vektor von Bildern mit korrekten Segmentierungen anwenden und diejenigen verwerfen, welche fehlschlagen. Der Bildgebungsprozess 10 kann einen Vektor mit möglichen Segmentierungen des Bildes der Zeichenkette und verknüpfter zu prüfender Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 einen Vektor von Bildern mit korrekter Segmentierung der Zeichenkette empfangen. Der Bildgebungsprozess 10 kann Bereiche für Segmentierungsparameter aus dem Vektor von Bildern mit korrekten Segmentierungen der Zeichenkette extrahieren. Einige Beispiele können umfassen, sind aber nicht beschränkt auf Bereiche für Zeichenbreite, -höhe, Anzahl von Pixeln für Fragmente und Zeichen, Abstände zwischen zwei benachbarten Zeichen und innerhalb eines Zeichens etc. Der Bildgebungsprozess 10 kann verschiedene Segmentierungsparameter innerhalb der extrahierten Bereiche probieren und Ergebnisse erzeugen, welche dieselbe Anzahl an Segmenten wie die Länge der Zeichenkette aufweisen. Der Bildgebungsprozess 10 kann mögliche Ergebnisse zurückweisen, welche ein Gleichförmigkeitskriterium nicht erfüllen, welches durch die ASCII-Darstellung der Zeichen in der Zeichenkette gegeben ist. Der Bildgebungsprozess 10 kann die gespeicherten Segmentierungsparameter auf den Vektor von Bildern mit korrekter Segmentierung anwenden und diejenigen verwerfen, welche fehlschlagen. Der Bildgebungsprozess 10 kann einen Vektor von möglichen Segmentierungen des Bildes der Zeichenkette und verknüpfter zu prüfender Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 konfiguriert sein, um automatisch mögliche Segmentierungsparameter für ein gegebenes Bildes zu erzeugen, welches eine beispielhafte Zeichenkette, korrekte Zeichen in dieser Zeichenkette und die korrekte Segmentierung der Zeichenkette umfasst. Auf diese Weise kann der Bildgebungsprozess 10 Bereiche für die Segmentierungsparameter von der korrekten Segmentierung der Zeichenkette extrahieren. Einige Beispiele können umfassen, sind aber nicht beschränkt auf Bereiche für Zeichenbreite, -höhe, Anzahl von Pixeln, Abstand („pitch”) und dem Abstand zwischen zwei benachbarten Zeichen. Der Bildgebungsprozess 10 kann verschiedene Segmentierungsparameter innerhalb der extrahieren Bereiche ausprobieren und nur die Ergebnisse mit Regionen behalten, welche größtenteils (z. B. innerhalb eines bestimmten Prozentwerts) mit denen der korrekten Segmentierung der Zeichenkette übereinstimmen. Der Bildgebungsprozess 10 kann einen Vektor von korrekten Segmentierungen des Bildes der Zeichenkette und verknüpften korrekten Segmentierungsparametern erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 konfiguriert sein, um einen Vektor von Bildern mit einer korrekten Segmentierung der Zeichenkette zusätzlich zu allen im Vorfeld gefundenen Segmentierungsparametern zu empfangen. Der Bildgebungsprozess 10 kann alle im Vorfeld gefundenen Segmentierungsparameter probieren und nur die Ergebnisse mit Regionen behalten, welche zum Großteil (z. B. innerhalb eines bestimmten Prozentwerts) mit denen der korrekten Segmentierung der Zeichenkette übereinstimmen. Der Bildgebungsprozess 10 kann einen Vektor von möglichen Segmentierungen des Bildes der Zeichenkette und von damit verknüpften zu prüfenden Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 konfiguriert sein, um einen Vektor von Bildern mit einer korrekten Segmentierung der Zeichenkette zusätzlich zu allen im Vorfeld gefundenen Segmentierungsparametern zu empfangen. Der Bildgebungsprozess 10 kann konfiguriert sein, um Bereiche für Segmentierungsparameter aus der korrekten Segmentierung der Zeichenkette zu extrahieren. Einige Beispiele können umfassen, sind aber nicht beschränkt auf Bereiche für Zeichenbreite, -höhe, Anzahl von Pixeln, Abstand („pitch” und Abständen zwischen zwei benachbarten Zeichen. Der Bildgebungsprozess 10 kann alle vorher gefundenen Segmentierungsparameter erweitern durch Hinzufügen unterschiedlicher Analyse- und Normierungs-Modi, Vordergrundschwellenwerte, Breitenarten und dergleichen. Der Bildgebungsprozess 10 kann die Segmentierungsparameter erweitern und nur die Ergebnisse mit Bereichen erhalten, welche zum Großteil (z. B. innerhalb eines bestimmten Prozentwerts) mit denen der korrekten Segmentierung der Zeichenkette übereinstimmen. Der Bildgebungsprozess 10 kann einen Vektor von möglichen Segmentierungen des Bildes der Zeichenkette und damit verknüpfter zu prüfender Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 einen Vektor von Bildern mit einer korrekten Segmentierung der Zeichenkette zusätzlich zu allen im Vorfeld gefundenen Segmentierungsparametern empfangen. Der Bildgebungsprozess 10 kann konfiguriert sein, um Bereiche für Segmentierungsparameter aus der korrekten Segmentierung der Zeichenkette zu extrahieren. Einige Beispiele können umfassen, sind aber nicht beschränkt auf Bereiche für Zeichenbreite, -höhe, Anzahl von Pixeln, Abstand („pitch”) und Abständen zwischen zwei benachbarten Zeichen. Der Bildgebungsprozess 10 kann alle im Vorfeld gefundenen und erweiterten Segmentierungsparameter ausprobieren und nur die Ergebnisse mit Regionen behalten, welche zum Großteil (z. B. innerhalb eines bestimmten Prozentwerts) mit der korrekten Segmentierung der Zeichenkette übereinstimmen. Wenn der Bildgebungsprozess 10 für einen beliebigen Segmentierungsparameter nicht erfolgreich ist, kann der Bildgebungsprozess 10 die Parameter unter Verwendung statistischer Daten von dem vorangegangenen Lauf anpassen und es auf iterative Weise noch einmal versuchen. Der Bildgebungsprozess 10 kann die gespeicherten Segmentierungsparameter auf den Vektor von Bildern mit korrekter Segmentierung anwenden und diejenigen verwerfen, die fehlschlagen. Der Bildgebungsprozess 10 kann einen Vektor von möglichen Segmentierungen des Bildes der Zeichenkette und damit verknüpfter zu prüfender Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 einen Vektor von Bildern mit einer korrekten Segmentierung der Zeichenkette empfangen. Der Bildgebungsprozess 10 kann konfiguriert sein, um Bereiche für Segmentierungsparameter von der korrekten Segmentierung der Zeichenkette zu extrahieren. Einige Beispiele können umfassen, sind aber nicht beschränkt auf Bereiche für Zeichenbreite, -höhe, Anzahl von Pixeln, Abstand („pitch”) und einem Abstand zwischen zwei benachbarten Zeichen. Der Bildgebungsprozess 10 kann konfiguriert sein, um Bereiche für Segmentierungsparameter von dem Vektor von Bildern mit korrekter Segmentierung der Zeichenkette zu extrahieren. Einige Beispiele können umfassen, sind aber nicht beschränkt auf Bereiche für Zeichenbreite, -höhe, Anzahl von Pixeln für Fragmente und Zeichen, Abständen innerhalb eines Zeichens und zwischen zwei benachbarten Zeichen etc. Der Bildgebungsprozess 10 kann verschiedene Segmentierungsparameter innerhalb der extrahierten Bereiche anwenden und nur diejenigen Ergebnisse mit Bereichen erhalten, welche zum Großteil (z. B. innerhalb eines bestimmten Prozentwerts) mit denen der korrekten Segmentierung der Zeichenkette übereinstimmen. Der Bildgebungsprozess 10 kann die gespeicherten Segmentierungsparameter auf den Vektor von Bildern mit korrekter Segmentierung anwenden und diejenigen verwerfen, die fehlschlagen. Der Bildgebungsprozess 10 kann einen Vektor von möglichen Segmentierungen des Bildes der Zeichenkette und damit verknüpfter zu prüfender Segmentierungsparameter erzeugen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 ein automatisches Anpassen der Segmentierungsparameter unter Verwendung statistischer Daten eines vorangegangenen Durchlaufs des Segmentierungs-Algorithmus umfassen. Der Bildgebungsprozess kann ein Empfangen eines neuen Bildes umfassen, welches eine beispielhafte Zeichenkette und ein Identifizieren der korrekten Zeichen in dieser Zeichenkette umfassen, aber nicht die korrekte Segmentierung der Zeichenkette. Der Bildgebungsprozess 10 kann einen Segmentierungsparametersatz bereitstellen, den Segmentierungs-Algorithmus anwenden und die Anzahl der segmentierten Bereiche mit der Länge der Zeichenkette vergleichen. Wenn die Anzahl der segmentierten Bereiche größer ist als die Länge der Zeichenkette können die Segmentierungsparameter angepasst werden, um mehrere der erfassten Elemente auszuschließen. Der Bildgebungsprozess 10 kann einige oder alle der oben beschriebenen Arbeitsschritte wiederholen bis zu einer maximalen Anzahl von Iterationen oder bis dieselbe Anzahl der Segmente gefunden ist.
  • In einigen Ausführungsformen kann der Bildgebungsprozess 10 ein Empfangen eines neuen Bildes umfassen, welches eine beispielhafte Zeichenkette beinhaltet und ein Identifizieren der korrekten Zeichen in dieser Zeichenkette umfassen, ebenso wie die korrekte Segmentierung der Zeichenkette. Der Bildgebungsprozess 10 kann ein Segmentierungsparametersatz bereitstellen und den Segmentierungs-Algorithmus anwenden und die segmentierten Bereiche mit denen der korrekten Segmentierung vergleichen. Für jedes Segment können statistische Daten extrahiert werden einschließlich der Breite, der Höhe, der Pixelanzahl, der Fragment-Pixelanzahl, des Kontrasts und dergleichen. Statistische Daten für fehlende Segmente (z. B. solche, die nicht in dem Ergebnis an einem speziellen Ort existieren) können in einer Gruppe gesammelt werden. Statistische Daten für korrekte Segmente (z. B. solche, welche sich gut überdecken) können zu der Gruppe hinzugefügt werden. Statistische Daten für falsche Ergebnisse (z. B. solche, welche sich nicht sehr gut überlappen) können von der korrekten Segmentierung der Zeichenkette extrahiert werden und zu der Gruppe hinzugefügt werden. Statistische Daten für Extrasegmente (z. B. solche, welche nicht in der korrekten Segmentierung der Zeichenkette an dem speziellen Ort existieren) können separat gesammelt werden. Segmentierungsparameter können angepasst werden, um Extrasegmente auszuschließen, aber alle anderen einzuschließen. Der Bildgebungsprozess 10 kann einen oder mehrere der oben beschriebenen Arbeitsschritte iterativ wiederholen bis zu einer maximalen Anzahl von Iterationen oder bis eine korrekte Segmentierung gefunden wurde.
  • 2143 zeigen Ausführungsformen verschiedener graphischer Benutzerschnittstellen, welche mit dem Bildgebungsprozess 10 verknüpft sind. Es soll angemerkt werden, dass verschiedene Ausführungsformen, welche hierin beschrieben sind, das Ziel verfolgen, einen allgemeinen Überblick über den Bildgebungsprozess 10 zu geben, sodass die spezifischen graphischen Benutzerschnittstellen nur im Sinne eines Beispiels vorgestellt werden und nicht dazu gedacht sind, den Bereich der vorliegenden Offenbarung in irgendeiner Weise zu beschränken.
  • In einigen Ausführungsformen, kann der Bildgebungsprozess 10 ausgeführt werden, sobald das aktuelle Bild geladen ist, und standardmäßig Segmentierung und Klassifikationsergebnisse anzeigen. Wenn die Segmentierungsbereiche nicht korrekt aussehen, kann der Benutzer eine Zeichenkette eingeben und eine Auswahl vornehmen, um die Segmentierung zu korrigieren. Die dementsprechenden Ergebnisse werden an den Benutzer zurückgegeben. Der Benutzer wählt ein korrektes Ergebnis aus und kann einen Button auswählen, um die aktuelle Aufzeichnung zu dem Auto-Einstellmodell hinzuzufügen. Der Benutzer kann ein anderes Bild laden. Wenn die segmentierten Bereiche korrekt sind und die Zeichen korrekt klassifiziert wurden, kann dem Benutzer die Option zum Akzeptieren der Änderungen gegeben werden (Segmentierungsparameter oder Segmentierungsparameter und Schriftart).
  • In einigen Ausführungsformen, kann der Bildgebungsprozess 10 ausgeführt werden, sobald das aktuelle Bild geladen ist, und standardmäßig Segmentierung und Klassifikationsergebnisse anzeigen. Wenn die Segmentierungsbereiche nicht korrekt aussehen, kann der Benutzer eine Zeichenkette eingeben und eine Auswahl treffen, um die Segmentierung zu korrigieren. Die dementsprechenden Ergebnisse werden dem Benutzer zurückgegeben. Der Benutzer wählt ein korrektes Ergebnis aus und kann einen Button auswählen, um die aktuelle Aufzeichnung zu dem Auto-Einstellmodell hinzuzufügen. Der Benutzer kann ein anderes Bild laden. Wenn die segmentierten Bereiche korrekt sind, aber die Zeichen nicht korrekt klassifiziert wurden, kann der Benutzer eine Zeichenkette spezifizieren und kann eine Auswahl vornehmen, um die Klassifizierung zu korrigieren und kann die Ergebnisse zu dem Auto-Einstellmodell hinzufügen. Der Benutzer kann ein anderes Bild laden. Wenn die segmentierten Bereiche korrekt sind und die Zeichen korrekt klassifiziert wurden, kann dem Benutzer eine Option zum Akzeptieren der Änderungen (Segmentierungsparameter oder Segmentierungsparameter und Schriftart) bereitgestellt werden.
  • In einigen Ausführungsformen, kann der Bildgebungsprozess 10 ausgeführt werden, sobald das aktuelle Bild geladen ist, und standardmäßig Segmentierung und Klassifikationsergebnisse anzeigen. Wenn die Segmentierungsbereiche nicht korrekt aussehen, kann der Benutzer eine Zeichenkette eingeben und kann eine Auswahl treffen, um die Segmentierung zu korrigieren. Die dementsprechenden Ergebnisse werden dem Benutzer zurückgegeben. Der Benutzer wählt ein korrektes Ergebnis aus und kann einen Button anwählen, um die aktuelle Aufzeichnung zu dem Auto-Einstellmodell hinzuzufügen. Der Benutzer kann ein anderes Bild laden. Wenn die segmentierten Bereiche nicht korrekt sind, kann der Benutzer einige oder alle der oben genannten Schritte wiederholen, ohne einen neuen Bereich zu spezifizieren. Der Benutzer kann dann ein anderes Bild laden. Wenn die Bereiche korrekt sind und die Zeichen korrekt klassifiziert wurden, kann der Benutzer eine Auswahl durchführen, um die Veränderungen (Segmentierungsparameter oder Segmentierungsparameter und Schriftart) zu akzeptieren.
  • In einigen Ausführungsformen, kann der Bildgebungsprozess 10 ausgeführt werden, sobald das aktuelle Bild geladen ist, und standardmäßig Segmentierung und Klassifikationsergebnisse anzeigen. Wenn die Segmentierungsbereiche nicht korrekt aussehen, kann der Benutzer eine Zeichenkette eingeben und kann eine Auswahl treffen, um die Segmentierung zu korrigieren. Die dementsprechenden Ergebnisse werden dem Benutzer zurückgegeben. Wenn die Ergebnisse inkorrekt sind und die Segmentierungsbereiche angepasst werden müssen, kann der Benutzer die Segmentierungsbereiche anpassen und kann eine Auswahl treffen, um die Aufzeichnung zu dem Auto-Einstellmodell hinzuzufügen. Der Benutzer kann ein anderes Bild laden und wenn die Regionen korrekt sind und die Zeichen korrekt klassifiziert wurden, kann der Benutzer entscheiden, die Änderungen (Segmentierungsparameter oder Segmentierungsparameter und Schriftart) zu akzeptieren.
  • In einigen Ausführungsformen, kann der Bildgebungsprozess 10 ausgeführt werden, sobald das aktuelle Bild geladen ist, und standardmäßig Segmentierung und Klassifikationsergebnisse anzeigen. Wenn die Segmentierungsbereiche nicht korrekt aussehen, kann der Benutzer eine Zeichenkette eingeben und kann eine Auswahl treffen, um die Segmentierung zu korrigieren. Die dementsprechenden Ergebnisse werden dem Benutzer zurückgegeben. Der Benutzer kann ein korrektes Ergebnis auswählen und kann entscheiden, dass die Aufzeichnung zu dem Auto-Einstellmodell hinzugefügt wird. Der Benutzer kann dann ein anderes Bild laden und wenn die segmentierten Bereiche korrekt sind und wenn die Zeichen korrekt klassifiziert wurden, kann der Benutzer den „Verwerfen”-Button anwählen, um die Auto-Einstellparameter zu verwerfen.
  • In einigen Ausführungsformen, kann der Bildgebungsprozess 10 ausgeführt werden, sobald das aktuelle Bild geladen ist, und standardmäßig Segmentierung und Klassifikationsergebnisse anzeigen. Wenn die Segmentierungsbereiche nicht korrekt aussehen, kann der Benutzer eine Zeichenkette eingeben und kann eine Auswahl treffen, um die Segmentierung zu korrigieren. Die dementsprechenden Ergebnisse, werden dem Benutzer zurückgegeben. Der Benutzer kann ein korrektes Ergebnis auswählen und kann eine Auswahl treffen, um die Aufzeichnung zu dem Auto-Einstellmodel hinzuzufügen. Der Benutzer kann ein anderes Bild laden. Wenn die segmentierten Bereiche korrekt sind und die Zeichen korrekt klassifiziert wurden, kann der Benutzer entscheiden, dass er nicht die Zeit hat, den Auto-Einstellprozess abzuschließen, und dementsprechend kann ein „Speichern”-Button bereitgestellt werden, um die Auto-Einstelldaten zu speichern.
  • In einigen Ausführungsformen, kann der Bildgebungsprozess 10 ausgeführt werden, sobald das aktuelle Bild geladen ist, und standardmäßig Segmentierung und Klassifikationsergebnisse anzeigen. Wenn die Segmentierungsbereiche nicht korrekt aussehen, kann der Benutzer eine Zeichenkette eingeben und kann eine Auswahl treffen, um die Segmentierung zu korrigieren. Die dementsprechenden Ergebnisse werden dem Benutzer zurückgegeben. Der Benutzer kann ein korrektes Ergebnis auswählen und er drückt einen Button, um die Aufzeichnung zu dem Auto-Einstellmodell hinzuzufügen. Der Benutzer kann ein anderes Bild laden und wenn die Segmentierungsbereiche nicht korrekt aussehen kann der Benutzer eine Zeichenkette eingeben und eine Auswahl treffen, um die Segmentierung zu korrigieren. Die Ergebnisse können an den Benutzer zurückgegeben werden. Der Benutzer kann ein korrektes Ergebnis auswählen und kann eine Auswahl treffen, die Aufzeichnung zu dem Auto-Einstellmodell hinzuzufügen. Wenn die erste Aufzeichnung in dem Auto-Einstellmodell mit den neuen Segmentierungsparametern nun fehlschlägt, kann der Benutzer die letzte Auto-Einstellaufzeichnung in dem Auto-Einstellmodell auswählen und den „Löschen”-Button anwählen. Das Auto-Einstellmodell kann automatisch zurückgesetzt werden und neue Segmentierungsparameter werden berechnet. Der Benutzer kann ein anderes Bild laden. Wenn die segmentierten Bereiche korrekt sind und die Zeichen korrekt klassifiziert wurden, kann der Benutzer eine Auswahl treffen, um die Änderungen (Segmentierungsparameter oder Segmentierungsparameter und Schriftart) zu akzeptieren.
  • Mit Bezug auf 21 können Ausführungsformen des Bildgebungsprozesses 10 standardmäßig ablaufen und eine Segmentierung und eine Klassifizierung durchführen, wenn der Benutzer in dem „Auto-Einstell”-Modus ist. Dementsprechend wir der Bildgebungsprozess 10 Segmentierungs- und Klassifizierungsgrafiken anzeigen, wie in 21 gezeigt. Das Verhalten ändert sich, wenn der Benutzer in dem „Auto-Einstell”-Modus ist und die Segmentierungsbereiche oder die Klassifizierung nicht korrekt sind. Der Auto-Einstellmodus (Auto Tuning) kann über einen Button initiiert werden oder über eine andere geeignete Option, wie in 22 gezeigt. Wie in 23 gezeigt, wird der Benutzer das Bild mit unterschiedlich eingefärbten Rechtecken angefüllt sehen, wenn der Benutzer Diagnosegrafiken sehen möchte, basierend auf den angezeigten Informationen. Z. B. und wie in 23 gezeigt, können Regionen um verworfene Fragmente in Gelb gezeigt werden und die Hauptzeile der Zeichen in Blau (nicht gezeigt). 24 zeigt verworfene Zeichen. Zusätzlich und/oder alternativ und wie in 25 gezeigt, können Bereiche um behaltene Fragmente in Cyan gezeigt werden und die Hauptzeile der Zeichen in Blau gezeigt werden. Vielfältige andere Anordnungen und Methoden können angewendet werden ohne den Bereich der aktuellen Offenbarung zu verlassen.
  • In einigen Ausführungsformen kann der Bildgebungsprozess dem Benutzer Informationen bezüglich der Zeilendaten (Line Data), behaltenen Fragmenten (Kept Fragments), verworfenen Fragmenten (Rejected Fragments), behaltenen Zeichen (Kept Characters) und verworfenen Zeichen (Rejected Characters) anzeigen, wenn er sich in dem neuen Diagnose-Reiter befindet. Zum Beispiel können Zeilendaten umfassen, sind aber nicht beschränkt auf Winkel, Schrägstellung und min/max Abstand zwischen zwei Zeichen (in Pixeln), min/max Abstand innerhalb eines Zeichens (in Pixeln), min/max Abstand.
  • Behaltene Fragmente können beinhalten, sind aber nicht beschränkt auf min/max Größe (in Pixeln), min/max Kontrast (in Prozent), maximaler Abstand zur Hauptzeile (in Prozent, MaxDistanceToMainLine). Verworfene Fragmente können beinhalten, sind aber nicht beschränkt auf min/max Größe (in Pixeln), min/max Kontrast (in Prozent) und maximaler Abstand zur Hauptzeile (in Prozent, MaxDistanceToMainLine). Behaltene Zeichen können beinhalten, sind aber nicht beschränkt auf min/max Zeichenbreite (in Pixeln), min/max Zeichenhöhe (in Pixeln) und min/max Zeichengröße (in Pixeln). Verworfene Zeichen können beinhalten, sind aber nicht beschränkt auf min/max Zeichenbreite (in Pixeln), min/max Zeichenhöhe (in Pixeln) und min/max Zeichengröße (in Pixeln).
  • 26 zeigt eine Ausführungsform, welche eine graphische Benutzerschnittstelle 2600 zeigt. Die Schnittstelle 2600 kann einen Reiter beinhalten, wo die Textdiagnosedaten gezeigt werden. In einigen Ausführungsformen kann ein drop-down-Menü hinzugefügt werden, um zu spezifizieren, welche Diagnosegrafik angezeigt werden soll. In einigen Ausführungsformen kann das „Show Diagnostics”-drop-down-Menü in Verbindung mit dem „Show”-drop-down-Menü zusammenarbeiten. Nur wenn in dem Eigenschaftenblatt „Show Diagnostics” auf etwas anderes als „Hide All” gesetzt ist, kann die Diagnosegrafik angezeigt werden. Wenn „Show Diagnostics” auf „Hide All” gesetzt ist, werden die standardmäßigen Grafiken angezeigt, wenn sich der Benutzer innerhalb des Eigenschaftsblattes befindet. Wenn sich der Benutzer außerhalb des Eigenschaftsblattes befindet und wenn die „Show”-drop-down-Eigenschaft auf „Show All” oder „Result Graphics Only” gesetzt ist, werden sowohl standardmäßige Grafiken angezeigt, als auch was immer unter „Show Diagnostics” eingestellt wurde. Wenn sich der Benutzer außerhalb des Eigenschaftsblattes befindet und wenn das „Show”-drop-down-Menü auf „Hide All” gesetzt ist, sind die Grafiken diejenigen, welche einem Benutzer gezeigt würden, wenn er das Eigenschaftsblatt öffnet.
  • Ausführungsformen des Bildgebungsprozesses, welche hierin beschrieben sind, können mit verschiedenen Arten von Klassifizierungsalgorithmen verwendet werden. Einige dieser Klassifizierungsalgorithmen können umfassen, aber sind nicht beschränkt auf einen Basis-Klassifizierungsalgorithmus zum Klassifizieren von Zeichen, einen Basis-Klassifizierungsalgorithmus, welchem die Basis-Validierungsroutine für die Klassifizierung der Zeichen folgt und ein Basis-Klassifizierungsalgorithmus für die Klassifizierung von Zeichen mit einem aggressiven und stromlinienförmigen Algorithmus. In einigen Ausführungsformen können verschiedene Standard-Klassifizierungsalgorithmen verwendet werden. Z. B. kann ein spezieller Modus über die Checkbox „Skip Additional Character Validation” ausgewählt werden, wie in 27 gezeigt. In einigen Ausführungsformen wird die Firmware die Klassifizierung automatisch einstellen basierend auf einem speziellen Parameter, wenn eine Auftragsdatei eine ältere Version ist als die Firmware. Zusätzlich und/oder alternativ wird die Firmware die Klassifizierung automatisch einstellen basierend auf einem geeigneten Parameter, wenn eine Auftragsdatei eine neuere Version als die Firmware ist.
  • In einigen Ausführungsformen können sowohl Segmentierung als auch Klassifizierung während des Betriebs durchgeführt werden, wenn sich das System im Auto-Einstellmodus befindet. Im Anschluss kann ein Benutzer eine Option hinzufügen wollen, sodass die Klassifizierung nicht jedes Mal durchgeführt wird, wenn ein Bild geladen und der Prozess ausgeführt wird. Wenn die Autoeinstellung (Auto Tuning) abgeschlossen ist und der Benutzer denkt, dass die Segmentierungsparameter oder die Segmentierungsparameter und das Training gut sind, kann er diese Veränderungen festlegen.
  • Ausführungsformen der vorliegenden Offenbarung können verschiedene Bibliotheken und verknüpfte Firmware in Verbindung mit diesen Bibliotheken verwenden. Der Bildgebungsprozess, welcher hierin beschrieben ist, kann konfiguriert sein, um eine Mehrzahl von Informationen an einem oder mehreren graphischen Benutzerschnittstellen anzuzeigen. Dementsprechend kann es verschiedene Nachrichten geben, welche Informationen von der Bibliothek bis zu einer speziellen Benutzerschnittstelle berichten. Z. B. sendet diese Nachricht Aufzeichnungsinformationen über jede Aufzeichnung in dem Auto-Einstellmodell zu einer speziellen Benutzerschnittstelle, welche konfiguriert sein kann diese Informationen anzuzeigen. Zusätzlich und/oder alternativ können einige Nachrichten konfiguriert sein Auto-Einstellgrafiken und das Bild zu einer speziellen Benutzerschnittstelle zu schicken, um angezeigt zu werden. Einige Nachrichten könnten konfiguriert sein, dass sie veranlassen die Auto-Einstellsitzung zu beenden und sie dass die Segmentierungsparameter aktualisieren können, welche die Bibliothek für die anschließende Anzeige für den Benutzer berechnet hat.
  • In einigen Ausführungsformen kann der Benutzer die Auto-Einstellfunktionalität initiieren und kann eines oder mehrere Bilder trainieren. Für jedes Bild kann der Benutzer entscheiden, ob die Zeichen korrekt segmentiert und klassifiziert wurden. Wenn nicht, wird das fehlgeschlagene Bild trainiert und der Algorithmus wird Segmentierungseinstellungen finden, welche sowohl das Bild als auch die vorangegangenen Bilder korrekt segmentiert. Wenn mehrere Bilder trainiert wurden, kann der Auto-Einstellalgorithmus zuverlässiger und genauer werden. Wenn der Benutzer zufrieden ist, können die neuen Segmentierungseinstellungen angewendet werden und die Schriftart kann mit den neu trainierten Zeichen aktualisiert werden. Das Trainieren von Zeichen während des Auto-Einstellprozesses hat mehrere Vorteile, welche einschließen können, aber nicht beschränkt sind darauf, dass der Benutzer einen Satz von Bildern nicht zweimal durchgehen muss (einmal für die Segmentierung und einmal für das Trainieren der Zeichen). Auch wird die Lesegenauigkeit erhöht, weil die Zeichen automatisch unter Verwendung der Segmentierungsparameter trainiert werden können, welche von dem Einstellprozess erlangt wurden.
  • Wie hierin verwendet, kann sich der Ausdruck „Zeichensegmentierung” („Character Segmentation”) auf den Prozess oder den Akt des Entdeckens der Grenzen (obere, linke, untere, rechte Kanten) jedes Zeichens innerhalb des Inspektionsbereichs beziehen. Die Zeichensegmentierung kann unter Verwendung eines oder mehrerer Algorithmen durchgeführt werden, wie hierin beschrieben. Der Ausdruck „Auto-Einstellaufzeichnung” („Auto-Tune Record”) kann aus einem Bild der Trainingszeichenkette und dem vom Benutzer bestätigten Ort der Zeichen innerhalb des Bildes bestehen. Der Ausdruck „Auto-Einstellmodell” („Auto-Tune Model”) kann sich auf eine Sammlung von null oder mehr Auto-Einstellaufzeichnungen beziehen und zusätzlich auf Konfigurationseinstellungen, welche von allen Aufgezeichneten am besten segmentieren.
  • Wie hierin beschrieben, kann sich das Konzept des Auto-Einstellens auf einen geführten Prozess zum Identifizieren optimaler Segmentierungsparameter beziehen. Die Segmentierungsparameter können aktualisiert werden, nachdem der Prozess abgeschlossen ist. In einigen Ausführungsformen benötigt der Auto-Einstellprozess mehrere Bilder, um erfolgreich zu sein. Die Benutzerschnittstelle kann konfiguriert sein, um den Benutzer durch den Prozess des Erlangens von Bildern und der Evaluierung der Ergebnisse zu führen. Dementsprechend sollte der Benutzer nicht mit einer überwältigenden Anzahl von Ergebnissen konfrontiert werden, aus welchen er wählen muss. Die Ergebnisse sollten voneinander getrennt und in ihrer Anzahl begrenzt sein. Der Benutzer soll aufgefordert werden, die Auto-Einstellsitzungen auf der Festplatte zu speichern, um vergeblichen Aufwand zu vermeiden. Die zuletzt gespeicherte Sitzung könnte durch die Benutzerschnittstelle automatisch wiederhergestellt werden.
  • In einigen Ausführungsformen kann der Auto-Einstellprozess eine große Menge von CPU- und Speicherressourcen erfordern. Wenn der Prozess einmal abgeschlossen ist und die Einstellungen und die Schriftart aktualisiert sind, werden die Ressourcen nicht länger benötigt und können freigegeben werden. In einigen Ausführungsformen ist es von großer Bedeutung, dass die Ressourcen so schnell wie möglich freigegeben werden. Sobald der Auto-Einstellprozess abgeschlossen ist (d. h. der Benutzer akzeptiert die Einstellungen oder verwirft sie) können alle Auto-Einstellressourcen freigegeben werden. Die Informationen zwischen Ressourcen, wie z. B. trainierte Bilder etc., werden nicht zwischen Sitzungen erhalten. Wenn erwartet wird, dass ein Arbeitsschritt mehr als zwei Sekunden benötigt, kann ein Fortschrittsbalken angezeigt werden. Die Fortschrittsrückmeldung (47% abgeschlossen) ist nicht verfügbar, sodass der Fortschrittsbalken nur einfach anzeigt, dass der Arbeitsschritt weiterhin aktiv ist. Hier wird es keinen Mechanismus zum Abbrechen des Arbeitsschrittes geben.
  • In einigen Ausführungsformen drückt der Benutzer während des Trainings Auto-Tune entweder in dem Eigenschaftsblatt oder in einem Einstellungsfenster. Dem Benutzer wird der Auto-Einstell-Dialog präsentiert und kann er ein neues Bild erlangen. Der Benutzer kann dann entweder das neue Bild trainieren, auf einen anderen Schritt zugreifen oder OK anwählen, um zu quittieren. Die neuen Segmentierungsparameter werden aktualisiert und die Schriftart wird aktualisiert.
  • In einigen Ausführungsformen kann der Benutzer entscheiden, dass das Bild nicht gut segmentiert wurde und kann dann während des Trainings eines Bildes mit automatischer Zeichensegmentierung die Trainingszeichenkette eingeben. Der Benutzer kann den Auto-Segmentierungs-Button anwählen. Dem Benutzer wird ein Statusbalken präsentiert und der Benutzer wartet auf den Abschluss der Auto-Segmentierung. Dem Benutzer wird eine Liste von Auto-Segmentierungsergebnissen präsentiert und er kann jedes Ergebnis untersuchen, indem er auf es klickt. Der Benutzer wählt das beste Ergebnis aus und wählt „OK” an. Eine neue Auto-Einstellaufzeichnung wurde erzeugt und das Bild wird mit den neuen Auto-Einstell-Einstellungen aktualisiert. Die Schriftart wird mit den neu trainierten Zeichen aktualisiert.
  • In einigen Ausführungsformen kann der Benutzer sich entscheiden, dass das Bild nicht gut segmentiert wurde, wenn ein Bild mit manueller Zeichensegmentierung trainiert wird. An diesem Punkt kann der Benutzer die Trainingszeichenkette eingeben und den Manuell-Segmentieren-Button (Manual-Segment Button) anwählen. Der Auto-Einstelldialog wird verborgen und die Anzeigensteuerung wird mit einem editierbaren Bereich für jedes Zeichen in der Trainingszeichenkette präsentiert. Der Benutzer kann dann jede Region positionieren und in ihrer Größe anpassen. Der Benutzer drückt OK an dem Werkzeugbalken (oder doppelklickt auf das Bild). Nun kann dem Benutzer ein Statusbalken präsentiert werden und der Benutzer kann warten, bis die Segmentierungseinstellungen gefunden wurden. Der Prozess wird vervollständigt und der Statusbalken wird geschlossen. Eine neue Auto-Einstellaufzeichnung wurde erzeugt und das Bild wird mit den neuen Auto-Einstelleinstellungen aktualisiert. Die Schriftart wird mit den neu trainierten Zeichen aktualisiert.
  • In einigen Ausführungsformen kann der Benutzer entscheiden, dass das Bild gut segmentiert wurde, aber dass die Zeichen falsch identifiziert wurden. Dann gibt der Benutzer die Trainingszeichenkette ein und klickt auf den „Trainiere Schriftart”-Button („Train Font” Button). Die Schriftart wird mit den neu trainierten Zeichen aktualisiert.
  • In einigen Ausführungsformen kann der Benutzer entscheiden, dass das Bild gut segmentiert wurde und dass die Zeichen korrekt identifiziert wurden. Dies ist ein Testbild, welches sich nicht signifikant von anderen Bildern unterscheidet. Eine Aktion des Benutzers wird nicht benötigt.
  • In einigen Ausführungsformen kann der Benutzer entscheiden, dass das Bild gut segmentiert wurde und dass die Zeichen korrekt identifiziert wurden. Der Benutzer entscheidet während der Auto-Einstellung, dass dies ein wichtiges Bild ist, welches in Betracht gezogen werden soll und er kann den „Erzeuge Aufzeichnung”-Button („Create Record” Button) anwählen. Eine neue Auto-Einstellaufzeichnung wird unter Verwendung des aktuellen Bildes und der aktuellen Segmentierungsbereiche erzeugt.
  • In einigen Ausführungsformen ist die Auto-Einstellung (Auto-Tune) ein Mehrbildprozess, welcher die Segmentierungsparameter in einem Werkzeug einstellt und optional Zeichen neu trainiert. Während der Auto-Einstellprozess aktiv ist, wird der Benutzer benötigt, um Bilder zu laden und die Ergebnisse für jedes Bild zu evaluieren. Der Benutzer wird visuell bestimmen, ob die Zeichen korrekt segmentiert wurden und ob die Zeichen korrekt identifiziert wurden. Wenn die Zeichen nicht korrekt segmentiert oder identifiziert wurden, dann wird der Auto-Einstellalgorithmus versuchen Korrekturen durchzuführen. Je weiter der Prozess voranschreitet, desto zuverlässiger und genauer werden die Ergebnisse. Wenn der Benutzer zufrieden ist, werden die neuen Segmentierungseinstellungen angenommen und die Schriftart wird mit den neu trainierten Zeichen aktualisiert.
  • In einigen Ausführungsformen erstreckt sich der Auto-Einstellprozess über mehrere Bilder. Der Benutzer kann in der Lage sein, die Bilder zu laden und kann den Inspektionsbereich einstellen ohne den Auto-Einstelldialog zu schließen. Ausführungsformen, welche hierin beschrieben sind, können dem Benutzer einen Weg des Ladens eines Bildes über Wiedergabesteuerungen, ein Laden von der Festplatte oder über Live-Aufzeichnung bereitstellen ohne den Auto-Einstell-Dialog zu schließen. Ausführungsformen können dem Benutzer ebenso eine Möglichkeit bereitstellen, einen integrierten Bereich zu editieren, ohne den Auto-Einstelldialog zu schließen.
  • In einigen Ausführungsformen evaluiert der Benutzer die Zeichensegmentierung in jedem Bild, während der Auto-Einstellprozess aktiv ist. Wenn die Zeichen nicht korrekt segmentiert wurden, dann wird der Auto-Einstell-Algorithmus versuchen Korrekturen durchzuführen. Der Auto-Einstellprozess kann Informationen über den Text benötigen, um fortzufahren und er stellt einige Leistungseinstellmöglichkeiten (Geschwindigkeit und Genauigkeit) bereit.
  • In Ausführungsformen, welche hierin beschrieben sind, können dem Benutzer eine Anzahl von Auto-Einstelloptionen bereitgestellt werden. Einige Optionen umfassen, sind aber nicht beschränkt auf eine gesperrte Parameterliste, welche einen Satz von Segmentierungsparametern spezifizieren kann, welcher nicht durch Auto-Einstellung modifiziert werden soll. Keine Parameter sind standardmäßig gesperrt. Die Bildauflösung z. B. die Zeichen können sowohl in voller Auflösung oder in einer heruntergerechneten Auflösung segmentiert werden. Ein Standardwert kann gesetzt werden. Die Anzahl der Ergebnisse, welche die maximale Anzahl an zu prüfenden Ergebnissen identifizieren kann, welche erzeugt und dem Benutzer präsentiert werden soll. Die Parameterschritte, z. B. die Anzahl von Iterationen, welche für jeden Segmentierungsparameter versucht wird. Ein Parameter wird automatisch gesperrt, wenn die damit verknüpfte Werkzeugeingabe in dem links-Reiter verlinkt ist.
  • In einigen Ausführungsformen kann der Benutzer entscheiden den Auto-Segmentierungsalgorithmus ablaufen zu lassen, wenn das aktuelle Bild nicht korrekt segmentiert wurde. Der Auto-Segmentierungsalgorithmus sucht und gibt eine Liste von Segmentierungsparametern zurück, welche das aktuelle Bild korrekt segmentieren und die Bilder in der Liste von Auto-Einstellaufzeichnungen. Die Liste von zurückgegebenen Konfigurationen wird dem Benutzer präsentiert und der Benutzer wählt die Konfiguration aus, welche die Zeichen am besten segmentiert. Wenn vom Benutzer eine geeignete Konfiguration ausgewählt ist, wird dann das verifizierte Ergebnis als neue Auto-Einstellaufzeichnung gespeichert und die selektierte Konfiguration wird verwendet um zukünftige Bilder zu segmentieren. Zusätzlich wird die Schriftart mit den neu trainierten Zeichen aktualisiert. Wenn keine der Konfigurationen die Anforderungen erfüllt, kann der Benutzer entscheiden ob er entweder die Auto-Segmentierungseingaben modifiziert und die Auto-Segmentierungsfunktion erneut ablaufen lässt oder ob er die Zeichen graphisch manuell segmentiert.
  • Die Ausführungsformen, welche hierin offenbart sind, können dem Benutzer einen Befehl zum Initiieren des Auto-Segmentierungsschritts bereitstellen. Dies muss nicht ein expliziter Befehl sein; er kann darauf beruhen, wie der Benutzer die Segmentierung in dem aktuellen Bild bewertet. Der Benutzer muss eine Trainingszeichenkette bereitstellen.
  • Ausführungsformen, welche hierin beschrieben sind, können eine Statusanzeige bereitstellen, um den Benutzer zu informieren, dass der Auto-Segmentierungsprozess voranschreitet und dass alles gut ist. Zusätzlich und/oder alternativ können die hierin offenbarten Ausführungsformen einen Weg bereitstellen, um ein Voranschreiten des Auto-Segmentierungsschritts abzubrechen, nachdem der Benutzer die Zeichen manuell segmentiert hat. Wenn der Abbruch einmal abgeschlossen ist, sollte der Benutzer zu der interaktiven Grafikanzeige zurückkehren und die Segmentierungsgrafiken werden dort sein, wo der Benutzer sie platziert hat.
  • Ausführungsformen, welche hierin offenbart sind, können dem Benutzer eine Option bereitstellen zum Selektieren der besten Segmentierungskonfiguration von den Auto-Segmentierungsergebnissen. Zusätzlich und/oder alternativ können Ausführungsformen dem Benutzer Mittel bereitstellen, um die Segmentierungsergebnisse gegenüber dem aktuellen Bild für jede zu prüfende Konfiguration visuell zu untersuchen.
  • Wenn das aktuelle Bild nicht korrekt segmentiert wurde und die Auto-Segmentierungsergebnisse nicht zufriedenstellend sind, kann der Benutzer wählen, die Zeichen graphisch manuell zu segmentieren. Die manuell platzierten Bereiche können in einer neuen Auto-Einstellaufzeichnung gespeichert werden. Die Auto-Segmentierungsroutine kann intern in einem Versuch ablaufen, um eine Segmentierungskonfiguration zu finden, welche den manuell gesetzten Bereichen genügt. Die beste Konfiguration kann automatisch selektiert werden, basierend auf den Bereichen, welche vom Benutzer bereitgestellt wurden. Der Benutzer muss diese nicht aus einer Liste von Konfigurationen auswählen. Die Schriftart kann mit den neu trainierten Zeichen aktualisiert werden.
  • Zusätzlich und/oder alternativ können Ausführungsformen, welche hierin offenbart sind, dem Benutzer die Fähigkeit bereitstellen, jeden Segmentierungsbereich manuell zu positionieren. Der Benutzer muss in der Lage sein, den Ort, die Größe, den Winkel und die Neigung für jedes Zeichen einzustellen. Die Anzahl der Bereiche kann von der Trainingszeichenkette bestimmt sein, sodass das System dem Benutzer nicht die Möglichkeit bereitstellen muss, Zeichenbereiche hinzuzufügen oder zu entfernen.
  • Einige Ausführungsformen können konfiguriert sein, um eine Statusanzeige bereitzustellen, um den Benutzer zu informieren, dass das Werkzeug nach einer Konfiguration sucht, dass der Prozess voranschreitet und dass alles gut ist. Zusätzlich und/oder alternativ können Ausführungsformen eine Möglichkeit bereitstellen, eine voranschreitende Suche abzubrechen, nachdem der Benutzer die Zeichen manuell segmentiert hat. Sobald der Abbruch abgeschlossen ist, sollte der Benutzer zu der interaktiven Grafikanzeige zurückkehren und die Segmentierungsgrafik wird dort sein, wo der Benutzer sie platziert hat.
  • Wie beschrieben werden in einigen Ausführungsformen Zeichen während des Auto-Einstellprozesses trainiert. Das Schriftart-Training wird automatisch im Anschluss an den Auto-Segmentierungsbefehl durchgeführt. Schriftart-Training kann ebenfalls durch den Benutzer initiiert werden, wenn die Segmentierung gut ist, aber die Zeichen falsch identifiziert wurden. Die Schriftart-Trainingsoptionen sind für beide Fälle anwendbar.
  • Ausführungsformen, welche hierin offenbart sind, können bestimmte Informationen darüber benötigen, wie mit trainierten Zeichen umgegangen werden soll und können dem Benutzer eine Anzahl von Schriftart-Trainingsoptionen bereitstellen, einschließlich, aber nicht beschränkt auf maximale Instanzen pro Zeichen, welche die Anzahl der Instanzen für ein zu trainierendes Zeichen begrenzen kann. Ausführungsformen, welche hierin offenbart sind, können ebenfalls dem Benutzer eine Option bereitstellen zum erneuten Trainieren von Zeichen ohne die Ausführung eines Auto-Segmentierungsbefehls. Der Benutzer muss eine Trainingszeichenkette bereitstellen und eine Auto-Einstellaufzeichnung wird erzeugt. Die Auto-Einstellmodelldaten können exportiert werden und zu einem späteren Zeitpunkt erneut geladen werden. Dies gestattet es dem Benutzer einen Satz von Basisbildern zu trainieren und diese dann später dem Datensatz hinzuzufügen, wenn ein neues problematisches Bild aufgetaucht ist. Der Benutzer wird in der Lage sein, einen Ort zu bestimmen, wo diese gespeichert werden oder von wo sie geladen werden. Dem Benutzer kann die Möglichkeit bereitgestellt werden eine aktive Sitzung zu einem vom Benutzer festgelegten Ort auf einer beliebigen eingerichteten Computervorrichtung bestehen zu lassen. Der Benutzer wird in der Lage sein, einen Ort zum Speichern zu wählen. Dem Benutzer kann ebenfalls die Fähigkeit bereitgestellt werden, eine im Vorfeld gespeicherte Sitzung erneut zu laden und die aktuelle aktive Sitzung zu überschreiben. Der Benutzer wird in der Lage sein, einen Ort zu wählen, von welchem geladen werden soll. In einigen Fällen kann der Benutzer wollen, dass der aktuelle Fortschritt verworfen wird und dass der Auto-Einstellprozess erneut gestartet wird. Dem Benutzer kann die Fähigkeit bereitgestellt werden, das Auto-Einstellmodell auf einen neuen, leeren Zustand zurückzusetzen.
  • In einigen Ausführungsformen werden die Auto-Einstellaufzeichnungen typischerweise automatisch während eines Trainingsbetriebs erzeugt. Wenn ein Bild, welches verwendet wurde, um eine Aufzeichnung zu erzeugen, von schlechter Qualität war, und dies Probleme mit dem Auto-Einstellmechanismus verursacht, dann kann es sinnvoll sein, die Aufzeichnung zu löschen. Aufzeichnungen können von dem Benutzer angesehen werden. Das Bild in der Aufzeichnung kann auf zwei Weisen markiert sein: markiert mit den trainierten Segmentbereichen oder markiert mit den Segmentbereichen, welche unter Verwendung der aktuellen Segmentierungseinstellungen erzeugt wurden. Wenn die aktuellen Segmentierungseinstellungen ein aufgezeichnetes Bild genauer segmentieren als die Einstellungen, welche verwendet wurden, um das Bild zu trainieren, dann kann der Benutzer entscheiden die Aufzeichnung mit den aktuellen Segmentierungsergebnissen zu aktualisieren.
  • Einige Ausführungsformen können dem Benutzer das Bild bereitstellen, welches verwendet wird, um die Aufzeichnung zu erzeugen, markiert mit den (aus dem Trainingsmodus) verifizierten Segmentierungsbereichen. Ausführungsformen können dem Benutzer das Bild bereitstellen, welches verwendet wurde, um die Aufzeichnung zu erzeugen, markiert mit den Segmentierungsbereichen, welche unter Verwendung der aktuellen Einstellungen erzeugt wurden. Dem Benutzer kann der Text präsentiert werden, welcher verwendet wurde, um die Aufzeichnung zu erzeugen.
  • In einigen Ausführungsformen kann der Benutzer eine Auto-Einstellaufzeichnung mit den aktuellen Segmentierungsergebnissen löschen und/oder aktualisieren. Zusätzlich und/oder alternativ kann der Auto-Einstelldialog Benutzern die folgenden Optionen bereitstellen: OK-Com mit All: Der Benutzer kann die Option haben, den Dialog zu schließen, während er die Segmentierungsparameter und die trainierten Schriftartzeichen akzeptiert. Die Segmentierungsparameter werden kopiert und die Schriftart wird mit den trainierten Zeichen aktualisiert.
  • 2829 zeigen Ausführungsformen von graphischen Benutzerschnittstellen, welche mit den Lehren der aktuellen Offenbarung übereinstimmen. In diesem speziellen Beispiel kann der Auto-Einstell-Button auf dem Eigenschaftenblatt, welches in 28 gezeigt ist, verwendet werden, um die Auto-Einstellmerkmale zu aktivieren. Zusätzlich und/oder alternativ kann der Auto-Einstell-Button deaktiviert sein, wenn eine Zelle mit externen Einstellungen referenziert ist, wie in 29 gezeigt.
  • 3031 zeigen Ausführungsformen der aktuellen Offenbarung und zeigen graphische Benutzerschnittstellen in Form einer Werkzeugleiste („toolbar”). Einige Werkzeugleistenbefehle können umfassen, sind aber nicht beschränkt auf Bilderlangungsbefehle, Inspektionsbereichseditierungsbefehle, Exportbefehle, Importbefehle und Lösche-Modell-Befehle (Clear Model commands). Der Auto-Einstelldialog wird geschlossen, wenn entweder der OK- oder der Löschen-Button gedrückt wird. Wenn OK ausgewählt wird, werden die Änderungen für eine assoziierte Zelle angenommen.
  • Mit Bezug auf 3234 können einige Ausführungsformen eine oder mehrere Reiter-Seiten umfassen. Die Reiter-Seiten können umfassen, sind aber nicht beschränkt auf Auto-Einstellen (wie in 32 gezeigt), Einstellungen, Aufzeichnungen und Schriftart. Der Auto-Einstellreiter kann einen Auto-Segmentierungsbefehl, manuelle Segmentierungsbefehle und die Trainiere-Schriftart-Befehle bereitstellen. Der Einstellungsreiter kann Zugang zu den Auto-Einstelleinstellungen und Zugang zu den Schriftart-Trainingsoptionen bereitstellen. Der Aufzeichnungen-Reiter kann Zugang bereitstellen, um Aufzeichnungen anzusehen, Aufzeichnungen zu löschen und Aufzeichnungen zu aktualisieren, wie in 33 gezeigt. In einigen Ausführungsformen wird die Anwahl des „View Record”-Buttons den folgenden Modaldialog öffnen, welcher es erlaubt Aufzeichnungen anzusehen und Aufzeichnungen zu aktualisieren.
  • Wie in 3536 gezeigt, wird ein modales Pop-Up-Fenster erscheinen, wenn ein Prozess in Bearbeitung ist. Dieses kann den Auto-Segmentierungsfortschritt, den Konfigurationssuchen-Fortschritt, den Lösche-Auto-Segmentierungsbetrieb und die Lösche-Konfigurationssuche bereitstellen.
  • In einigen Ausführungsformen kann während des Auswählens der Betrachte-Aufzeichnung-Option, wie in 34 gezeigt, ein modaler Dialog erzeugt werden, welcher die Anzeige und/oder das Aktualisieren der Aufzeichnung gestattet. 37 zeigt eine graphische Benutzerschnittstelle 3700, welche solch eine Konfiguration zeigt. Wie in 37 gezeigt, kann die graphische Benutzerschnittstelle 3700 sowohl ein trainiertes Merkmal als auch ein Aktuelle-Einstellungen-Merkmal umfassen, welche beide angezeigt werden können. Die Option des Speicherns der aktuellen Ergebnisse kann ebenfalls bereitgestellt werden.
  • Wie in den 3839 gezeigt, wird in einigen Ausführungsformen ein Modelldialog erscheinen, nachdem der Auto-Segmentierungsprozess abgeschlossen ist. Der Dialog kann es dem Benutzer gestatten, die beste Segmentierungskonfiguration auszuwählen. Wenn der „Edit Result”-Button selektiert wird, ist der Benutzer in der Lage, manuell die Zeichensegmentierungsgrafik zu editieren unter Verwendung der aktuellen Selektion als einen Startpunkt. Wenn der „OK”-Button selektiert wird, wird das Auto-Einstellmodell aktualisiert basierend auf der aktuellen Selektion und der Dialog wird geschlossen. Der OK-Button wird nur aktiviert, wenn ein Objekt in der Liste angewählt ist.
  • In einigen Ausführungsformen kann eine Parallelogrammgrafik verwendet werden, während des manuellen Editierens der Zeichensegmente. Die Parallelogrammgrafik kann eine Anzahl von Merkmalen umfassen. Z. B. ein Bewege-Merkmal, welches den Zeiger zu einem Standardbewegungszeiger (4 Pfeile) verändert, wenn die Maus innerhalb des Parallelogramms positioniert wird. Das Parallelogramm kann dann durch Anklicken und Ziehen der Grafik bewegt werden. Ein Größenanpassungs-Merkmal, welches den Zeiger zu einem Standardgrößenänderungszeiger (2 Pfeile) verändert, wenn die Maus über der Kante eines Parallelogramms positioniert wird. Das Parallelogramm kann dann in der Größe durch Anklicken und Ziehen der Kante angepasst werden. Ein Neigungs-Merkmal, ändert den Zeiger zu einem Standardfaserkreuz-Zeiger, wenn die Maus über der oberen linken Ecke des Parallelogramms positioniert wird. Der Innenwinkel des Parallelogramms kann dann durch Anklicken und Ziehen des Punkts verändert werden. Ein Rotieren-Merkmal (wie in 40) verändert den Mauszeiger zu einem Rotieren-Zeiger, wenn die Maus über dem Rotationssymbol an dem unteren Rand des Parallelogramms positioniert wird. Die Rotation des Parallelogramms kann dann durch Anklicken und Ziehen des Punkts modifiziert werden. Tastatureingaben sind erlaubt. Zusätzlich zu den bestehenden Bewegungs-, Größenänderungs- und Rotations-Modi ist ein Neigungsmodus verfügbar. Der Neigungsmodus passt den Innenwinkel des Parallelogramms in 1 Grad-Schritten an (linker Pfeil –1, rechter Pfeil +1), wie in 41 gezeigt. Der Winkel, in Grad, zwischen der unteren Kante und der linken Kante des Parallelogramms ist an der Spitze des oberen Pfeils gezogen.
  • In 42 ist eine graphische Benutzerschnittstelle 4200 entsprechend einer Ausführungsform der aktuellen Offenbarung gezeigt. In diesem speziellen Beispiel kann der Segmentierungs-Reiter einen vom Benutzer auswählbaren Button umfassen, welcher betitelt ist „Export to Cell” (exportieren zu Zelle). Der Exportbefehl kann deaktiviert sein, wenn bereits eine Referenz auf externe Einstellungen gesetzt wurde, wie in 43 gezeigt.
  • Teilweise basierend auf den hohen Speicher- und Prozessoranforderungen der Auto-Einstellungen, kann die Auto-Einstellfunktionalität innerhalb des Umfangs einer Auto-Einstellsitzung erfolgen. Am Ende dieser Sitzung wird der Speicher freigegeben und die Ergebnisse werden entweder angenommen oder verworfen. Sitzungen sind ein fast gänzlich internes Implementierungsdetail, welches dem Benutzer nicht gezeigt wird. Die Auswirkung auf den Benutzer ist die, dass Metatrainingsdaten (z. B. Auto-Einstell-Aufzeichnungen) nicht zwischen Sitzungen gespeichert werden. Sitzungsdaten können von dem Benutzer importiert und exportiert werden. Ausführungsformen, welche hierin offenbart sind, können eine neue Auto-Einstell-Sitzung initiieren, bevor eine beliebige Auto-Einstellfunktion durchgeführt wird. Dieser Schritt kann für den Benutzer transparent sein und kann automatisch durchgeführt werden, wenn der Auto-Einstell-Dialog geöffnet wird. Ausführungsformen, welche hierin offenbart sind können jede aktive Auto-Einstell-Sitzung beenden. Dieser Schritt kann für den Benutzer transparent sein und kann automatisch durchgeführt werden, wenn der Auto-Einstell-Dialog geschlossen wird.
  • Das Verfahren kann ebenfalls ein Bestimmen unter Verwendung einer oder mehrerer Computervorrichtungen umfassen, ob eine resultierende Segmentierung eines oder mehrere Kriterien erfüllt, basierend auf den Kriterien, welche auf einen Schwellenwert oder einen Optimierungswert gesetzt wurden. Das Verfahren kann ebenfalls ein Erzeugen einer Datenbank umfassen unter Verwendung einer oder mehrerer Computervorrichtungen und mindestens in Teilen einer oder mehrerer der ersten Zeichenkette und der zusätzlichen Zeichenkette. Das Verfahren kann ebenfalls ein Empfangen eine Anzeige einer korrekten Segmentierung für die Zeichenkette unter Verwendung einer oder mehrerer Computervorrichtungen umfassen, wobei die Zeichenkette einen korrekten Satz von Segmentierungsparametern aufweist. Das Verfahren kann ebenfalls ein Anwenden des korrekten Satzes von Segmentierungsparametern auf eine zweite Zeichenkette unter Verwendung einer oder mehrerer Computervorrichtungen umfassen. In einigen Ausführungsformen kann das Identifizieren eine Identifizierungsübereinstimmung mit einem ASCII-Gleichförmigkeitskriterium umfassen.
  • Die Arbeitsschritte können ebenfalls ein Bestimmen unter Verwendung einer oder mehrerer Computervorrichtungen umfassen, ob eine resultierende Segmentierung eines oder mehrere Kriterien erfüllt, basierend auf den Kriterien, welche auf einen Schwellenwert oder einen Optimierungswert gesetzt wurden. Die Arbeitsschritte können ebenfalls ein Erzeugen einer Datenbank von Zeichen umfassen unter Verwendung einer oder mehrerer Computervorrichtungen Verwendung und mindestens in Teilen einer oder mehrerer der ersten Zeichenkette und der zusätzlichen Zeichenkette. Das Verfahren kann ebenfalls ein Empfangen einer Anzeige einer korrekten Segmentierung für eine Zeichenkette umfassen unter Verwendung einer oder mehrerer Computervorrichtungen und eines korrekten Satzes von Segmentierungsparametern. Das Verfahren kann ebenfalls ein Anwenden des korrekten Satzes von Segmentierungsparametern auf eine zweite Zeichenkette unter Verwendung einer oder mehrerer Computervorrichtungen umfassen. In einigen Ausführungsformen kann das Identifizieren einer Identifizierungsübereinstimmung mit einem ASCII-Gleichförmigkeitskriterium umfassen. In einigen Ausführungsformen kann der mindestens eine Segmentierungsparameter einen oder mehrere Parameter umfassen aus der Gruppe bestehend aus Polarität („polarity”), Zeilenfeinheit („line refinement”), Winkelsuchbereich („angle search range”), Schrägstellungssuchbereich („skew search range”), Normierungsmodus („normalization mode”), Strichstärke („stroke width”), Binärisierungsschwellenwert („binarization threshold”), Grenzfragmente („border fragments”), Pixelzahl („pixel number”), Kontrastschwellenwert („contrast threshold”), Zeichenhöhe („character height”), Zeichenbreite („character width”), Abstand zwischen zwei benachbarten Zeichen („intercharacter gap”), Abstand innerhalb eines Zeichens („intracharacter gap”), Zeichenfragmentabstand („character fragment distance”), Zeichenfragmentmischungsmodus („character fragment merge mode”), Aufteilung breiter Zeichen („wide character split”), minimaler Zeichenaspekt („minimum character aspect”), Zeichenbreitentyp („character width type”), Analysemodus („analysis mode”), Abtandsmetrik („pitch metric”), Abstandsart („pitch type”), minimaler Abstand („minimum pitch”), Leerzeicheneinfügung („space insertion”), Leerzeichenzählung („space scoring”), minimale Breite des Leerzeichens („minimum width of space character”) und maximale Breite des Leerzeichens („maximum width of space character”).
  • Der eine oder die mehreren Prozessoren können weiterhin konfiguriert sein, mindestens ein zusätzliches Bild zu empfangen, wobei jedes Bild eine zusätzliche Zeichenkette aufweist. Der eine oder die mehreren Prozessoren können weiterhin konfiguriert sein, eine Datenbank von Zeichen zu erzeugen unter Verwendung mindestens in Teilen von einem oder mehreren der ersten Zeichenkette und der zusätzlichen Zeichenkette. Der eine oder die mehreren Prozessoren können weiterhin konfiguriert sein, eine Anzeige einer korrekten Segmentierung für die Zeichenkette zu empfangen unter Verwendung eines korrekten Satzes von Segmentierungsparametern. Der eine oder die mehreren Prozessoren können weiterhin konfiguriert sein, den korrekten Satz von Segmentierungsparametern auf eine zweite Zeichenkette anzuwenden. In einigen Ausführungsformen kann das Identifizieren eine Identifizierungsübereinstimmung mit einem ASCII-Gleichförmigkeitskriterium umfassen. In einigen Ausführungsformen kann der mindestens eine Segmentierungsparameter einen oder mehrere der nachfolgenden Parameter umfassen: Polarität („polarity”), Zeilenfeinheit („line refinement”), Winkelsuchbereich („angle search range”), Schrägstellungssuchbereich („skew search range”), Normierungsmodus („normalization mode”), Strichstärke („stroke width”), Binärisierungsschwellenwert („binarization threshold”), Grenzfragmente („border fragments”), Pixelzahl („pixel number”), Kontrastschwellenwert („contrast threshold”), Zeichenhöhe („character height”), Zeichenbreite („character width”), Abstand zwischen zwei benachbarten Zeichen („intercharacter gap”), Abstand innerhalb eines Zeichens („intracharacter gap”), Zeichenfragmentabstand („character fragment distance”), Zeichenfragmentmischungsmodus („character fragment merge mode”), Aufteilung breiter Zeichen („wide character split”), minimaler Zeichenaspekt („minimum character aspect”), Zeichenbreitentyp („character width type”), Analysemodus („analysis mode”), Abtandsmetrik („pitch metric”), Abstandsart („pitch type”), minimaler Abstand („minimum pitch”), Leerzeicheneinfügung („space insertion”), Leerzeichenzählung („space scoring”), minimale Breite des Leerzeichens („minimum width of space character”) und maximale Breite des Leerzeichens („maximum width of space character”).
  • Wie es von einem Fachmann erkannt werden wird, kann die aktuelle Offenbarung als ein Verfahren ausgeführt werden, als ein System oder als ein Computerprogrammprodukt. Dementsprechend kann die aktuelle Offenbarung die Form einer gänzlich hardwareseitigen Ausführungsform, einer gänzlich softwareseitigen Ausführungsform (umfassend Firmenware, Betriebssoftware, Mikro-Code etc.) oder eine Ausführungsform, welche Software- und Hardwareaspekte kombiniert, kann gemeinhin bezeichnet werden als „Schaltkreis”, „Modul” oder „System”. Des Weiteren kann die aktuelle Offenbarung die Form eines Computerprogrammprodukts eines von einem Computer verwendbaren Speichermedium annehmen, welches einen vom Computer verwendbaren Programmcode in dem Medium verkörpert hat.
  • Ein beliebiges vom Computer verwendbares oder vom Computer lesbares Medium kann verwendet werden. Das vom Computer verwendbare oder vom Computer lesbare Medium kann z. B. sein, ist aber nicht beschränkt auf ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, -apparat, -vorrichtung oder Ausbreitungsmedium. Weiter detaillierte Beispiele (eine nicht abschließende Liste) von computerlesbaren Medien würde die Folgenden umfassen: eine elektrische Verbindung, welche eine oder mehrere Leitungen aufweist, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (radom access memory, RAM), ein Nur-Lese-Speicher (read-only memory, ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory, EPROM oder ein Flash-Speicher), eine optische Faser, ein tragbarer Kompakt-Disk-Nur-Lese-Speicher (Compact Disc read-only memory, CD-ROM), eine optische Speichervorrichtung, Übertragungsmedien, wie solche, welche das Internet oder ein Intranet unterstützen, oder eine magnetische Speichervorrichtung. Es ist anzumerken, dass das vom Computer verwendbare oder vom Computer lesbare Medium ebenfalls Papier sein kann oder ein beliebiges geeignetes Medium, auf welchem das Programm gedruckt ist, wenn das Programm elektronisch erfasst werden kann, z. B. über ein optisches Scannen des Papiers oder des Mediums, dann kompiliert, interpretiert oder in anderer Weise auf geeignete Weise verarbeitet wird, sofern notwendig, und dann in einen Computerspeicher gespeichert wird. Im Kontext dieses Dokuments kann ein vom Computer verwendbares oder vom Computer lesbares Medium ein beliebiges Medium sein, welches das Programm beinhalten, speichern, kommunizieren, propagieren oder transportieren kann zur Verwendung von oder in Verbindung mit dem Anweisungsausführungssystem, -apparat oder -vorrichtung. Das vom Computer verwendbare Medium kann ein propagiertes Datensignal mit dem vom Computer verwendbaren Programmcode, welches hierin verkörpert ist, umfassen entweder im Basisband oder als Teil einer Trägerwelle. Der vom Computer verwendbare Programmcode kann übertragen werden unter Verwendung eines beliebigen geeigneten Mediums einschließend, aber nicht beschränkt auf das Internet, kabelgestützt, optische Faserkabel, RF etc.
  • Der Computerprogrammcode zum Ausführen der Arbeitsschritte der vorliegenden Offenbarung kann in einer objektorientierten Programmiersprache geschrieben sein, wie z. B. Java, Smalltalk, C++ oder dergleichen. Jedoch kann der Programmcode zum Ausführen der Arbeitsschritte der vorliegenden Offenbarung auch in konventionellen prozedural arbeitenden Programmiersprachen geschrieben sein, wie z. B. der „C”-Programmiersprache oder ähnlichen Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers ausgeführt werden, teilweise auf dem Computer des Benutzers ausgeführt werden, als ein Stand-alone-Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server. In dem letzteren Szenario kann der entfernte Computer mit dem Computer des Benutzers verbunden sein über ein lokales Bereichsnetzwerk (local area network, LAN) oder über ein Weitbereichsnetzwerk (wide area network, WAN) oder die Verbindung zu einem externen Computer kann hergestellt werden (z. B. über das Internet unter Verwendung eines Internetdienstanbieters).
  • Die aktuelle Offenbarung ist unten beschrieben mit Bezug auf Flussdiagrammillustrationen und/oder Blockdiagramme von Verfahren, Apparaten (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Offenbarung. Es wird verstanden, dass jeder Block der Flussdiagrammillustrationen und/oder der Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammillustrationen und/oder in den Blockdiagrammen durch Computerprogrammanweisungen implementiert werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder eines programmierbaren Datenverarbeitungsapparats, um eine Maschine zu erzeugen, so dass die Anweisungen, welche über den Prozessor des Computers oder des anderen programmierbaren Datenverarbeitungsapparats ausgeführt werden, Mittel zum Implementieren der Funktionen/Handlungen erzeugen, welche in dem Flussdiagramm und/oder in dem Blockdiagrammblock oder -blöcken spezifiziert sind.
  • Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Speicher gespeichert sein, welcher einen Computer oder andere programmierbare Datenverarbeitungsgeräte dazu bewegt auf eine spezielle Weise zu funktionieren, so dass die Anweisungen, welchen in dem computerlesbaren Speicher gespeichert sind, einen Artikel erzeugen, umfassend Anweisungsmittel, welche die Funktionen/Handlungen implementieren, welche in dem Flussdiagramm und/oder Blockdiagrammblock oder -blöcken spezifiziert ist.
  • Die Computerprogrammanweisungen können ebenfalls auf einen Computer oder einen anderen programmierbaren Datenverarbeitungsapparat geladen werden, um eine Reihe von Arbeitsschritten zu veranlassen auf dem Computer oder auf dem anderen programmierbaren Apparat, um einen computerimplementierten Prozess zu erzeugen, so dass die Anweisungen, welche auf dem Computer oder dem anderen programmierbaren Apparat ausgeführt werden, Schritte zum Implementieren der Funktionen/Handlungen bereitstellen, welche in dem Flussdiagramm und/oder dem Blockdiagrammblock oder -blöcken spezifiziert sind.
  • Das Flussdiagramm und die Blockdiagramme in den Figuren zeigen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder in den Blockdiagrammen ein Modul, ein Segment oder einen Codeteil repräsentieren, welcher eine oder mehrere ausführbare Anweisungen zum Implementieren der spezifizierten logischen Funktion(en) aufweist. Es soll angemerkt werden, dass in einigen alternativen Implementierungen die Funktionen, welche in dem Block angeführt sind, in einer anderen Reihenfolge auftreten können, wie in den Figuren gezeigt. Zum Beispiel können zwei Blöcke, welche aufeinanderfolgend gezeigt sind, in Wirklichkeit im Wesentlichen parallel ausgeführt werden oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, basierend auf der involvierten Funktionalität. Es wird auch angemerkt, dass jeder Block der Blockdiagramme und/oder der Flussdiagrammillustration oder Kombinationen der Blöcke in den Blockdiagrammen und/oder der Flussdiagrammillustration implementiert werden können von speziell angepassten hardwarebasierten Systemen, welche die spezifizierten Funktionen oder Handlungen oder Kombinationen von speziell angepasster Hardware und Computeranweisungen ausführen.
  • Die Terminologie, welche hierin verwendet wird, dient nur der Beschreibung spezieller Ausführungsformen und ist nicht dazu geeignet, die Offenbarung zu begrenzen. Wie hierin verwendet, können die Singularformen „ein”, „eine” und „der”, „die” und „das” genauso gut Pluralformen mit einschließen, es sei denn aus dem Kontext ergibt sich klar etwas anderes. Es wird ferner verstanden, dass die Ausdrücke „aufweisen” und/oder „aufweisend”, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit der genannten Merkmale, Integer-Werte, Schritte, Handlungen, Elemente und/oder Komponenten spezifizieren, aber nicht die Anwesenheit oder das Hinzufügen eines oder mehrerer anderer Merkmale, Integer-Werte, Schritte, Handlungen, Elemente, Komponenten und/oder Gruppen derselben ausschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritte zusätzlich zu Funktionselementen in den angehängten Ansprüchen, beinhalten beliebige Strukturen, Materialien oder Handlungen zum Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen, wie besonders beansprucht. Die Beschreibung der vorliegenden Offenbarung wurde zum Zwecke der Illustration und Beschreibung präsentiert, ist aber nicht dazu geeignet die Offenbarung in der offenbarten Form zu erschöpfen oder zu begrenzen. Viele Modifikationen oder Variationen sind dem gewöhnlichen Fachmann geläufig, ohne den Bereich und den Geist der Offenbarung zu verlassen. Die Ausführungsform wurde ausgewählt und beschrieben, um am besten die Prinzipien der Offenbarung und die praktische Anwendung zu erläutern, um andere Fachleute in die Lage zu versetzen, die Offenbarung für verschiedene Ausführungsformen mit verschiedenen Modifikationen, wie sie für den speziellen Anwendungsfall zugeschnitten sind, zu verstehen.
  • Daher wurde die Offenbarung der vorliegenden Anmeldung im Detail und mit Bezug auf deren Ausführungsformen beschrieben. Es ist verständlich, dass Modifikationen und Variationen möglich sind, ohne den Schutzbereich der Offenbarung zu verlassen, welcher in den angehängten Ansprüchen definiert wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.11a [0066]
    • 802.11b [0066]
    • 802.11g [0066]
    • IEEE 802.11X-Spezifikationen [0067]

Claims (20)

  1. Ein computerimplementiertes Verfahren zum Selektieren mindestens eines Segmentierungsparameters zur optischen Zeichenerkennung, aufweisend: ein Empfangen eines Bildes unter Verwendung einer oder mehrerer Computervorrichtungen, wobei das Bild eine Zeichenkette aufweist, die ein oder mehrere Zeichen umfasst; ein Empfangen einer Zeichenkette unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die Zeichenkette jedes der einen oder mehreren Zeichen identifiziert; ein automatisches Erzeugen mindestens eines Segmentierungsparameters unter Verwendung der einen oder mehreren Computervorrichtungen; ein Durchführen einer Segmentierung des Bildes, welches eine Zeichenkette aufweist, unter Verwendung der einen oder mehreren Computervorrichtungen und des mindestens einen Segmentierungsparameters; ein Bestimmen, ob eine resultierende Segmentierung ein oder mehrere Kriterien erfüllt, unter Verwendung der einen oder mehreren Computervorrichtungen; ein Auswählen des mindestens einen Segmentierungsparameters, wenn die resultierende Segmentierung das eine oder die mehreren Kriterien erfüllt; und ein Anzeigen mindestens eines Teils des Bildes auf der einen oder den mehreren Computervorrichtungen.
  2. Das computerimplementierte Verfahren gemäß Anspruch 1, weiterhin aufweisend ein Anzeigen einer vom Anwender wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die vom Anwender wählbare Option mit der Segmentierung verknüpft ist und konfiguriert ist, es dem Anwender zu gestatten entweder eine korrekte Segmentierung oder eine inkorrekte Segmentierung anzuzeigen.
  3. Das computerimplementierte Verfahren gemäß Anspruch 1, weiterhin aufweisend ein Anzeigen einer vom Anwender wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die vom Anwender wählbare Option konfiguriert ist, es einem Anwender zu gestatten, eine manuell erzeugte Segmentierung manuell zu erzeugen.
  4. Das computerimplementierte Verfahren gemäß Anspruch 1, weiterhin aufweisend ein Anzeigen der resultierenden Segmentierung unter Verwendung der einen oder mehreren Computervorrichtungen.
  5. Das computerimplementierte Verfahren gemäß Anspruch 1, weiterhin aufweisend ein Anzeigen des mindestens einen Segmentierungsparameters unter Verwendung der einen oder mehreren Computervorrichtungen.
  6. Das computerimplementierte Verfahren gemäß Anspruch 5, wobei der mindestens eine Segmentierungsparameter einen oder mehrere Parameter umfasst aus der Gruppe bestehend aus: Polarität, Zeilenfeinheit, Winkelsuchbereich, Schrägstellungssuchbereich, Normierungsmodus, Strichstärke, Binärisierungsschwellenwert, Grenzfragmente, Pixelzählwert, Fragmentkontrastschwellenwert, Zeichenhöhe, Zeichenbreite, Abstand zwischen zwei benachbarten Zeichen, Abstand innerhalb eines Zeichens, Fragmentabstand zur Hauptlinie, Fragmentmischungsmodus, minimaler Zeichenaspekt, Zeichenbreitentyp, Analysemodus, Abtandsmetrik, Abstandsart, minimaler Abstand, Leerzeicheneinfügung und Breite eines Leerzeichens.
  7. Das computerimplementierte Verfahren gemäß Anspruch 1, weiterhin aufweisend ein Anzeigen des mindestens einen trainierten Bildes unter Verwendung der einen oder mehreren Computervorrichtungen.
  8. Ein Computerprogrammprodukt, welches auf einem computerlesbaren Speichermedium gespeichert ist, welches eine Mehrzahl von hierauf gespeicherten Anweisungen aufweist, welche einen Prozessor dazu veranlassen, Arbeitsschritte auszuführen, wenn sie von dem Prozessor ausgeführt werden, aufweisend: ein Empfangen eines Bildes unter Verwendung einer oder mehrerer Computervorrichtungen, wobei das Bild eine Zeichenkette aufweist, die ein oder mehrere Zeichen umfasst; ein Empfangen einer Zeichenkette unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die Zeichenkette jedes der einen oder mehreren Zeichen identifiziert; ein automatisches Erzeugen mindestens eines Segmentierungsparameters unter Verwendung der einen oder mehreren Computervorrichtungen; ein Durchführen einer Segmentierung des Bildes, welches eine Zeichenkette aufweist, unter Verwendung der einen oder mehreren Computervorrichtungen und des mindestens einen Segmentierungsparameters; ein Bestimmen, ob eine resultierende Segmentierung ein oder mehrere Kriterien erfüllt, unter Verwendung der einen oder mehreren Computervorrichtungen; ein Auswählen des mindestens einen Segmentierungsparameters, wenn die resultierende Segmentierung das eine oder die mehreren Kriterien erfüllt; und ein Anzeigen mindestens eines Teils des Bildes auf der einen oder den mehreren Computervorrichtungen.
  9. Das Computerprogrammprodukt gemäß Anspruch 8, weiterhin aufweisend ein Anzeigen einer vom Anwender wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die vom Anwender wählbare Option mit der Segmentierung verknüpft ist und konfiguriert ist, es dem Anwender zu gestatten entweder eine korrekte Segmentierung oder eine inkorrekte Segmentierung anzuzeigen.
  10. Das Computerprogrammprodukt gemäß Anspruch 8, weiterhin aufweisend ein Anzeigen einer vom Anwender wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die vom Anwender wählbare Option konfiguriert ist, es einem Anwender zu gestatten, eine manuell erzeugte Segmentierung manuell zu erzeugen.
  11. Das Computerprogrammprodukt gemäß Anspruch 8, weiterhin aufweisend ein Anzeigen der resultierenden Segmentierung unter Verwendung der einen oder mehreren Computervorrichtungen.
  12. Das Computerprogrammprodukt gemäß Anspruch 8, weiterhin aufweisend ein Anzeigen des mindestens einen Segmentierungsparameters unter Verwendung der einen oder mehreren Computervorrichtungen.
  13. Das Computerprogrammprodukt gemäß Anspruch 12, wobei der mindestens eine Segmentierungsparameter einen oder mehrere Parameter umfasst aus der Gruppe bestehend aus: Polarität, Zeilenfeinheit, Winkelsuchbereich, Schrägstellungssuchbereich, Normierungsmodus, Strichstärke, Binärisierungsschwellenwert, Grenzfragmente, Pixelzählwert, Fragmentkontrastschwellenwert, Zeichenhöhe, Zeichenbreite, Abstand zwischen zwei benachbarten Zeichen, Abstand innerhalb eines Zeichens, Fragmentabstand zur Hauptlinie, Fragmentmischungsmodus, minimaler Zeichenaspekt, Zeichenbreitentyp, Analysemodus, Abtandsmetrik, Abstandsart, minimaler Abstand, Leerzeicheneinfügung und Breite eines Leerzeichens.
  14. Das Computerprogrammprodukt gemäß Anspruch 8, weiterhin aufweisend ein Anzeigen des mindestens einen trainierten Bildes unter Verwendung der einen oder mehreren Computervorrichtungen.
  15. Ein Computersystem, welches konfiguriert ist zum Selektieren mindestens eines Segmentierungsparameters zur optischen Zeichenerkennung, aufweisend: einen oder mehrere Prozessoren, welche konfiguriert sind zum Empfangen eines Bildes, welches eine Zeichenkette aufweist, welche ein oder mehrere Zeichen umfasst, wobei der eine oder die mehreren Prozessoren weiterhin konfiguriert sind, eine Zeichenkette zu empfangen, welche jedes der einen oder mehreren Zeichen identifiziert, wobei der eine oder die mehreren Prozessoren weiterhin konfiguriert sind, mindestens einen Segmentierungsparameter automatisch zu erzeugen, wobei der eine oder die mehreren Prozessoren weiterhin konfiguriert sind, eine Segmentierung des Bildes, welches die Zeichenkette aufweist, durchzuführen unter Verwendung des mindestens einen Segmentierungsparameters, wobei der eine oder die mehreren Prozessoren weiterhin konfiguriert sind, zu bestimmen, ob eine resultierende Segmentierung ein oder mehrere Kriterien erfüllt und wobei der eine oder die mehreren Prozessoren weiterhin konfiguriert sind, den mindestens einen Segmentierungsparameter auszuwählen, wenn die resultierende Segmentierung das eine oder die mehreren Kriterien erfüllt, wobei der eine oder die mehreren Prozessoren weiterhin konfiguriert sind, mindestens einen Teil des Bildes auf der einen oder den mehreren Computervorrichtungen anzuzeigen.
  16. Das Computersystem gemäß Anspruch 15, weiterhin aufweisend ein Anzeigen einer vom Anwender wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die vom Anwender wählbare Option mit der Segmentierung verknüpft ist und konfiguriert ist, es dem Anwender zu gestatten entweder eine korrekte Segmentierung oder eine inkorrekte Segmentierung anzuzeigen.
  17. Das Computersystem gemäß Anspruch 15, weiterhin aufweisend ein Anzeigen einer vom Anwender wählbaren Option unter Verwendung der einen oder mehreren Computervorrichtungen, wobei die vom Anwender wählbare Option konfiguriert ist, es einem Anwender zu gestatten, eine manuell erzeugte Segmentierung manuell zu erzeugen.
  18. Das Computersystem gemäß Anspruch 15, weiterhin aufweisend ein Anzeigen der resultierenden Segmentierung unter Verwendung der einen oder mehreren Computervorrichtungen.
  19. Das Computersystem gemäß Anspruch 15, weiterhin aufweisend ein Anzeigen des mindestens einen Segmentierungsparameters unter Verwendung der einen oder mehreren Computervorrichtungen.
  20. Das Computersystem gemäß Anspruch 19, wobei der mindestens eine Segmentierungsparameter einen oder mehrere Parameter umfasst aus der Gruppe bestehend aus: Polarität, Zeilenfeinheit, Winkelsuchbereich, Schrägstellungssuchbereich, Normierungsmodus, Strichstärke, Binärisierungsschwellenwert, Grenzfragmente, Pixelzählwert, Fragmentkontrastschwellenwert, Zeichenhöhe, Zeichenbreite, Abstand zwischen zwei benachbarten Zeichen, Abstand innerhalb eines Zeichens, Fragmentabstand zur Hauptlinie, Fragmentmischungsmodus, minimaler Zeichenaspekt, Zeichenbreitentyp, Analysemodus, Abtandsmetrik, Abstandsart, minimaler Abstand, Leerzeicheneinfügung und Breite eines Leerzeichens.
DE102013220470.1A 2012-10-17 2013-10-10 System und verfahren zum selektieren und anzeigen von segmentierungsparametern für eine optische zeichenerkennung Withdrawn DE102013220470A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/653,948 2012-10-17
US13/653,948 US9317767B2 (en) 2012-10-17 2012-10-17 System and method for selecting segmentation parameters for optical character recognition
US13/684,007 US9286534B2 (en) 2012-10-17 2012-11-21 System and method for selecting and displaying segmentation parameters for optical character recognition
US13/684,007 2012-11-21

Publications (1)

Publication Number Publication Date
DE102013220470A1 true DE102013220470A1 (de) 2014-04-17

Family

ID=50383431

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013220470.1A Withdrawn DE102013220470A1 (de) 2012-10-17 2013-10-10 System und verfahren zum selektieren und anzeigen von segmentierungsparametern für eine optische zeichenerkennung

Country Status (4)

Country Link
US (1) US9286534B2 (de)
JP (1) JP5820451B2 (de)
CN (1) CN103778422B (de)
DE (1) DE102013220470A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915327B (zh) * 2014-03-14 2019-01-29 腾讯科技(深圳)有限公司 一种文本信息的处理方法及装置
US20150371100A1 (en) * 2014-06-23 2015-12-24 Xerox Corporation Character recognition method and system using digit segmentation and recombination
RU2605078C2 (ru) * 2015-01-27 2016-12-20 Общество с ограниченной ответственностью "Аби Девелопмент" Сегментация изображения для верификации данных
CN105427322B (zh) * 2015-12-03 2018-02-13 中国科学院地理科学与资源研究所 一种高分遥感影像分割参数自动选择方法
CN111079762B (zh) * 2019-11-26 2022-02-08 合肥联宝信息技术有限公司 一种粘连字符的切割方法及电子设备
CN111368818A (zh) * 2020-03-01 2020-07-03 青岛滨海学院 基于机器视觉的食品袋检测系统及方法、食品包装系统
GB2624336A (en) * 2021-09-07 2024-05-15 Rapiscan Systems Inc Methods and systems for accurate visual layer separation in the displays of scanning systems
CN117349797B (zh) * 2023-12-04 2024-02-06 四川航空股份有限公司 基于人工智能的飞机故障检测方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03229387A (ja) 1990-02-05 1991-10-11 Mitsubishi Electric Corp 文書読取方式
JPH0535916A (ja) 1991-07-26 1993-02-12 Ricoh Co Ltd 文字切り出し方法
JPH05303663A (ja) 1992-04-28 1993-11-16 Matsushita Electric Ind Co Ltd 文字切り出し装置
US5608874A (en) * 1994-12-02 1997-03-04 Autoentry Online, Inc. System and method for automatic data file format translation and transmission having advanced features
JPH11338975A (ja) 1998-05-28 1999-12-10 Fujitsu Ltd 文字切り出し処理方式および文字切り出し処理プログラムを記録した記録媒体
CN1173247C (zh) * 1999-01-13 2004-10-27 国际商业机器公司 具有文字分割用户接口的手写信息处理系统
JP3485020B2 (ja) 1999-04-09 2004-01-13 日本電気株式会社 文字認識方法及び装置ならびに記憶媒体
JP2001126025A (ja) * 1999-10-26 2001-05-11 Hitachi Ltd Ocr用フォーマットパラメータ作成方法
WO2002010884A2 (en) 2000-07-28 2002-02-07 Raf Technology, Inc. Orthogonal technology for multi-line character recognition
JP5591578B2 (ja) 2010-04-19 2014-09-17 日本電産サンキョー株式会社 文字列認識装置および文字列認識方法
US8600143B1 (en) 2010-05-20 2013-12-03 Kla-Tencor Corporation Method and system for hierarchical tissue analysis and classification

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
802.11b
802.11g
IEEE 802.11a
IEEE 802.11X-Spezifikationen

Also Published As

Publication number Publication date
JP2014081938A (ja) 2014-05-08
US9286534B2 (en) 2016-03-15
JP5820451B2 (ja) 2015-11-24
CN103778422B (zh) 2017-05-24
CN103778422A (zh) 2014-05-07
US20140105497A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
DE102013220470A1 (de) System und verfahren zum selektieren und anzeigen von segmentierungsparametern für eine optische zeichenerkennung
Xiao et al. Noise or signal: The role of image backgrounds in object recognition
JP7458328B2 (ja) マルチ分解能登録を介したマルチサンプル全体スライド画像処理
US10621474B2 (en) Crowdsourcing and deep learning based segmenting and karyotyping of chromosomes
DE102014211948A1 (de) System und Verfahren zur selektiven Bestimmung von Punktwolken
DE102012107287B4 (de) Computergestütztes Verfahren und Vorrichtung zum Identifizieren von Fehlern in einem Material
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
DE102020007951A1 (de) Einsetzen eines der Einfärbung dienenden neuronalen Netzwerkes zum Generieren von eingefärbten Bildern auf Grundlage interaktiver Farbkanten
DE102009036474B4 (de) Bilddaten-Kompressionsverfahren, Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und computerlesbares Aufzeichnungsmedium
DE112020000279T5 (de) Erlernen eines erkennungsmodells unter verwenden einer verlustfunktion
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE102013206009A1 (de) Robustes Zuschneiden von Nummernschildbildern
DE102019102484A1 (de) Verarbeitung von dreidimensionalen Bilddatensätzen
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE102021004260A1 (de) Textuelles Bearbeiten von digitalen Bildern
DE112017008151T5 (de) Schaltungen geringer tiefe als quantenklassifikatoren
US9317767B2 (en) System and method for selecting segmentation parameters for optical character recognition
DE112019006666T5 (de) Bestimmung von Bereichen von Interesse für fotografische Funktionen
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
CN112633341A (zh) 一种界面测试方法、装置、计算机设备和存储介质
DE102019007837A1 (de) Bildschattendetektion unter Verwendung mehrerer Bilder
DE102019114582A1 (de) Aktive segmentierung von gescannten bildern basierend auf tiefenverstärkungslernen für ocr-anwendungen
DE102019000178A1 (de) Interaktives System zum automatischen Synthetisieren einer contentsensitiven Füllung
DE112016004733T5 (de) Techniken zum Anfügen von durch ein mobiles Computergerät aufgenommenen Medien an ein elektronisches Dokument

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R016 Response to examination communication
R120 Application withdrawn or ip right abandoned