DE3923914A1 - Verfahren zum extrahieren eines zeichenmerkmals - Google Patents

Verfahren zum extrahieren eines zeichenmerkmals

Info

Publication number
DE3923914A1
DE3923914A1 DE3923914A DE3923914A DE3923914A1 DE 3923914 A1 DE3923914 A1 DE 3923914A1 DE 3923914 A DE3923914 A DE 3923914A DE 3923914 A DE3923914 A DE 3923914A DE 3923914 A1 DE3923914 A1 DE 3923914A1
Authority
DE
Germany
Prior art keywords
segments
character
composite
characterized records
subsegments
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.)
Granted
Application number
DE3923914A
Other languages
English (en)
Other versions
DE3923914C2 (de
Inventor
Keiji Kojima
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of DE3923914A1 publication Critical patent/DE3923914A1/de
Application granted granted Critical
Publication of DE3923914C2 publication Critical patent/DE3923914C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/182Extraction of features or characteristics of the image by coding the contour of the pattern
    • 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)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Extrahieren eines Zeichenmerkmals (einschließlich eines Kurz- bzw. Formelzei­ chens und eines Zahlenzeichens) für eine Zeichenerkennung, und betrifft insbesondere ein Verfahren zum Extrahieren eines Zeichenmerkmals, welches durch den Schriftstil oder die Größe eines zu erkennenden Zeichens beeinflußt wird.
Es sind bereits verschiedene Zeichenmerkmal-Extrahierver­ fahren vorgeschlagen worden. Beispielsweise ist in dem US- Patent 47 57 551 ein Verfahren vorgeschlagen, in welchem ein Bild eines Zeichens, welches durch optisches Abtasten erhalten worden ist, in eine Anzahl Bereiche aufgeteilt wird, und ein Histogramm von Richtungscodes für jeden der aufgeteilten Bereiche erzeugt wird. Jedoch kann das vorge­ schlagene Verfahren keine Merkmalsmengen schaffen, welche die Form eines Zeichens mit hoher Genauigkeit anzeigen. Bei­ spielsweise ist das vorgeschlagene Verfahren nicht gut or­ ganisiert, um so ein Merkmal eines ornamentalen Teils eines Zeichens zu extrahieren.
Zur Überwindung der vorerwähnten Schwierigkeiten ist ein verbessertes Verfahren zum Extrahieren eines Zeichenmerk­ mals in der US-Patentanmeldung S.N. 1 91 608 vorgeschlagen worden, auf dessen Offenbarung hiermit Bezug genommen wird.
Das verbesserte Verfahren wird durch den Schriftstil oder die Größe eines zu erkennenden Zeichens weniger beeinflußt; für Verbesserungen bleibt jedoch noch genug Raum.
Gemäß der Erfindung soll daher ein weiter verbessertes Verfahren zum Extrahieren eines Zeichenmerkmals geschaffen werden, wobei sich das Verfahren besonders für eine Zeichen­ erkennung eignet. Ferner soll gemäß der Erfindung ein Ver­ fahren zum Extrahieren eines Zeichenmerkmals geschaffen wer­ den, mit welchem Merkmalsmengen erzeugt werden können, wel­ che ein topologisches Merkmal eines ornamentalen Teils ei­ nes Zeichens anzeigen.
Gemäß der Erfindung ist dies bei einem Verfahren zum Extra­ hieren eines Zeichenmerkmals durch die Merkmale im kenn­ zeichnenden Teil des Anspruchs 1 erreicht. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprüche 2 bis 9. Ferner ist dies bei einem Verfahren zum Extrahieren eines Zeichenmerkmals nach dem Oberbegriff des Anspruchs 9 durch die Merkmale in dessen kennzeichnenden Teil erreicht. Vor­ teilhafte Weiterbildungen sind Gegenstand der Unteransprüche 10 bis 18.
Nachfolgend wird die Erfindung anhand von bevorzugten Aus­ führungsformen unter Bezugnahme auf die anliegenden Zeich­ nungen im einzelnen erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm einer Hardware-Ausführung einer bevorzugten Ausführungsform der Erfindung;
Fig. 2 ein Flußdiagramm eines in der Erfindung durchge­ führten Prozesses;
Fig. 3A und 3B Ansichten zur Erläuterung einer Feststellung eines Startpunktes für eine Zeichenverfolgung, welche durch Raster-Abtasten eines Zeichenbildes erhalten wird;
Fig. 4A bis 4C Ansichten zur Erläuterung von Richtungscodes welche in der Erfindung verwendet sind;
Fig. 5A ein Flußdiagramm eines Prozesses, um Richtungs­ codes eines Konturteiles eines Zeichenbildes zuzu­ teilen;
Fig. 5B eine Darstellung einer Anfangsoperation der Zeichen­ verfolgung;
Fig. 6a bis 6C Ansichten des Prozesses, um Richtungscodes dem Konturteil des Zeichenbildes zuzuteilen;
Fig. 7 eine Ansicht, in welcher dargestellt ist, wie Teilungslinien festzulegen sind;
Fig. 8A und 8B Flußdiagramme eines Algorithmus zum Bestimmen von Teilungslinien;
Fig. 9A bis 9C Darstellungen von Vorteilen, welche sich aus der Verwendung der Teilungslinien ergeben;
Fig. 10A und 10B detaillierte Flußdiagramme der Fig. 8A bzw. 8B;
Fig. 11 eine Darstellung von Teilungslinien, welche durch einen Algorithmus bestimmt und festgelegt sind;
Fig. 12A und 12B Flußdiagramme des Algorithmus von Fig. 11;
Fig. 13A und 13B Flußdiagramme noch eines weiteren Algorith­ mus zum Bestimmen und Festlegen von Teilungslinien;
Fig. 14A und 14B Flußdiagramme eines weiteren Algorithmus zum Bestimmen und Festlegen von Teilungslinien;
Fig. 15A bis 15E Ansichten von Segmenten, Untersegmenten, kombinierten Segmenten und wiedervereinigten Seg­ menten;
Fig. 16 eine Darstellung einer Tabelle zum Kombinieren von Untersegmenten;
Fig. 17 ein Flußdiagramm eines Prozesses zum Kombinieren von Untersegmenten, und
Fig. 18A bis 18C Darstellungen, in welchen angegeben ist, wie kombinierte Segmente zusammenzufassen sind.
Fig. 1 ist ein Blockdiagramm einer bevorzugten Ausführungs­ form der Erfindung. Ein optischer Scanner 1 liest optisch ein Zeichen auf einer Vorlage und erzeugt binär-bewertete Bilddaten, in welchen "1" ein schwarzes Bildelement und "0" ein weißes Bildelement anzeigt. Die binär-bewerteten Bild­ daten werden in einem Vorlagenbild-Speicherbereich 41 in einem Datenspeicher 4 gespeichert, welcher durch einen Di­ rektzugriff-Speicher gebildet ist (welcher nachstehend der Einfachheit halber als ein RAM-Speicher bezeichnet wird). Eine Zentraleinheit 2 führt verschiedene Prozesse durch, welche durch ein Programm gesteuert werden, das in einem Pro­ grammspeicher 3 in Form eines Festwertspeichers 3 gespei­ chert sind (welcher nachstehend als ein ROM-Speicher bezeich­ net wird). Der ROM-Speicher 3 speichert die nachstehend be­ schriebenen Programme. Die Zentraleinheit 2 führt die Pro­ zesse entsprechend einem in Fig. 2 dargestellten Ablauf auf der Basis der in dem ROM-Speicher 3 gespeicherten Programme durch.
Die Zentraleinheit 2 beginnt, in oder entgegen dem Uhrzeiger­ sinn eine zweidimensionale Anordnung aus weißen oder schwar­ zen Bildelementen zu verfolgen, die in Beziehung zu einer Kontur eines Zeichenbildes stehen, welches in dem Vorlagen­ bild-Speicherbereich 41 gespeichert ist. Die Zentraleinheit 2 ordnet weiße oder schwarze Bildelemente zu, welche entlang der Kontur-Richtungscodes angeordnet sind, um so eine zwei­ dimensionale Anordnung von Richtungscodes zu erzeugen, welche weißen oder schwarzen Bildelementen bezüglich der Kontur zugeordnet sind. Die erhaltene zweidimensionale An­ ordnung wird in einem Konturbild-Speicherbereich 42 in dem RAM-Speicher 4 gespeichert. Das vorstehend erwähnte Verfah­ ren steht in Beziehung zu einem in Fig. 2 dargestellten Schritt 101, und die Zentraleinheit 2 führt den Verfahrens­ schritt 101 entsprechend einem Zeichenverfolgungsprogramm 31 durch.
Als nächstes erzeugt die Zentraleinheit 2 vertikale und horizontale Projektionen der Richtungscodes, welche dem Konturbild zugeteilt sind. Eine vertikale Projektion der Richtungscodes wird dadurch erhalten, daß die zweidimensio­ nale Anordnung von Richtungscodes, welche weißen und schwar­ zen Elementen zugeordnet sind, in deren vertikalen Richtung abgetastet und die Anzahl jedes der Richtungscodes gezählt wird. In ähnlicher Weise wird eine horizonale Projektion der Richtungscodes erhalten, indem die zweidimensionale An­ ordnung bei den Richtungscodes, welche in der horizontalen Richtung zugeteilt sind, abgetastet und die Anzahl jedes der Richtungscodes gezählt wird. Danach legt die Zentraleinheit 2 ein Paar Teilungslinien, welche an oberen und unteren Teiles des Zeichens zu positionieren sind, auf der Basis der erhaltenen vertikalen und horizontalen Projektionen fest. Der vorstehend beschriebene Ablauf bezieht sich auf einen in Fig. 2 dargestellten Schritt 102, und die Zentraleinheit 2 führt den Verfahrensschritt 102 entsprechend einem Tei­ lungslinien-Bestimmungsprogramm 32 durch.
Dann teilt die Zentraleinheit 2 das Konturenbild, welches in dem Konturenbild-Speicherbereich 42 gespeichert ist, durch das Paar Teilungslinien in eine Vielzahl Segmente auf und unterteilt ferner jedes der aufgeteilten Segmente in gleicher Weise in n Untersegmente. Die erhaltenen Untersegmente werden in einem Teilungsdaten-Speicherbereich 43 in dem RAM- Speicher 4 gespeichert. Dieser Ablauf betrifft einen Schritt 103, welcher von der Zentraleinheit 2 entsprechend einem Teilungs-/Wiederteilungs-Programm 33 durchgeführt wird.
Danach faßt die Zentraleinheit 2 einige Untersegmente (ins­ gesamt 16) zusammen, um so eine Anzahl zusammengefaßter Seg­ mente zu bilden, und Lageinformation für jedes der zusammen­ gefaßten Segmente wird in dem Teilungsdaten-Speicherabschnitt 43 gespeichert. Der vorstehend beschriebene Ablauf betrifft einen in Fig. 2 dargestellten Schritt 104 und wird von der Zentraleinheit 2 entsprechend einem Verbindungsprogramm 34 durchgeführt.
Dann setzt die Zentraleinheit 2 einige zusammengefaßte Seg­ mente zusammen (wieder zusammen), um so eine Anzahl wieder­ zusammengesetzter Segmente zu bilden; Lageinformation für jedes der wiederzusammengefaßten Segmente wird in dem Tei­ lungsdaten-Speicherabschnitt 43 gespeichert. Der vorstehend beschriebene Ablauf bezieht sich auf einen Schritt 104 und wird von der Zentraleinheit 2 entsprechend einem Wiederver­ bindungsprogramm 35 durchgeführt.
Danach erzeugt die Zentraleinheit 2 ein Histogramm der Rich­ tungscodes für jedes zusammengesetzte Segment. Das auf diese Weise erhaltene Histogramm wird in Form von Merkmalen für eine Zeichenwiedererkennung in einem Merkmalsspeicherbereich 44 in dem RAM-Speicher 4 gespeichert. Dieser Ablauf betrifft einen in Fig. 2 dargestellten Schritt 106 und wird von der Zentraleinheit 2 entsprechend einem Merkmals-Extrahierpro­ gramm 36 durchgeführt.
Ferner erzeugt die Zentraleinheit 2 ein Histogramm für die Richtungscodes für jedes wiederverbundene Segment und spei­ chert es in dem Merkmalsspeicherbereich 44 als Merkmale, welche für eine grobe Bestimmung benutzt werden, was eine der vorherbestimmten Klassifikationen von Zeichen ist, wel­ che für ein wiederzuerkennendes Zeichen von großer Bedeu­ tung ist. Dieser Verfahrensablauf wird vor der Durchführung einer Zeichenerkennung basierend auf dem Histogramm der Richtungscodes durchgeführt, welche für jedes zusammenge­ faßte Segment erhalten worden sind. Der vorstehend beschrie­ bene Ablauf betrifft einen in Fig. 2 dargestellten Schritt 107 und wird von der Zentraleinheit 2 entsprechend einem Merkmalsextrahierprogramm 37 durchgeführt.
Nunmehr wird jeder in Fig. 2 dargestellte Schritt beschrie­ ben. Beim Schritt 101 führt die Zentraleinheit 2 eine Raster­ abtastung des Zeichenbildes durch, das in dem Vorlagenbild- Speicherbereich 41 in dem RAM-Speicher 4 gespeichert ist. Die Rasterabtastung beginnt von dem oberen Teil eines Bild­ speicherbereichs, welcher ein segmentiertes wiederzuerkennen­ des Zeichen einschließt. Dann stellt die Zentraleinheit 2 eine Position fest, an welcher zum ersten Mal eine Änderung von einem weißen zu einem schwarzen Bildelement vorkommt und benutzt den festgestellten Punkt als einen Startpunkt, von welchem aus die Zeichenverfolgung startet.
Fig. 3A zeigt ein Beispiel, in welchem eine Abtastgrenze, an welcher die Abtastung zu der nächsten Abtastzeile ver­ schoben wird, an dem rechten Ende des Bildspeicherbereichs vorgesehen ist. Fig. 3B zeigt ein anderes Beispiel, in wel­ chem die Abtastgrenze an einer mittleren Stelle des Bild­ speicherbereichs vorgesehen ist. Aus Fig. 3A und 3B ist zu ersehen, daß der Startpunkt der Zeichenverfolgung nicht immer an einem oberen Ende des Zeichens festgestellt wird und von der Einstellung der Abtastgrenze abhängt.
Folglich verfolgt die Zentraleinheit 2 in oder entgegen dem Uhrzeigersinn entweder weiße oder schwarze Bildelemente, welche entlang der Kontur des Zeichenbildes angeordnet sind, welches in dem Vorlagenbild-Speicherbereich 41 in dem RAM- Speicher 4 gespeichert ist, und teilt, bezogen auf die Kon­ tur, Richtungscodes den weißen und schwarzen Bildelementen zu. Die Zeichenverfolgung beginnt von dem festgestellten Start­ punkt entsprechend dem in dem ROM-Speicher 30 gespeicherten Zeichenverfolgungsprogramm.
Fig. 4A bis Fig. 4C sind Darstellungen, anhand welcher die Richtungscode erläutert werden. Die Lage (Koordinaten) eines Bildelements von Bedeutung, d.h. eines laufenden Verfolgungs­ punktes, soll durch einen Positionsvektor P dargestellt sein; die Bewegung von dem laufenden Verfolgungspunkt zu dem nächsten Verfolgungspunkt soll durch einen von vier Einheitsvektoren Δ P zusammen mit dem Positionsvektor P dargestellt sein. Folglich wird die Lage des nächsten Ver­ folgungspunktes durch P + Δ P dargestellt. Vier Einheits­ vektoren Δ P sind entsprechenden in Fig. 4 dargestellten Richtungscodes zugeordnet. Die Merkmalsmengen der Kontur können mit Hilfe der Richtungscodes beschrieben werden. Nunmehr wird die Zeichenverfolgung weiter beschrieben. Hierbei sollen weiße Bildelemente, welche entlang der Kon­ tur eines Zeichens angeordnet sind, verfolgt werden.
In Fig. 5A wird ein Zeichenbild, welches in dem Vorlagenbild- Speicherbereich 41 gespeichert ist, rasterabgetastet und ein weißes Bildelement, welches in der Hauptabtastrichtung (der X-Richtung) folgt, wird gesucht (Schritt 101 in Fig. 5A). Dann wird ein Vektor P + Δ P bezüglich des festgestellten ersten Bildelements, welches an dem Startpunkt positioniert ist, mit einem Anfangswert versehen (Schritt 102). Bei die­ sem Schritt entspricht der Vektor P dem Anfangspunkt und der Einheitsvektor Δ P, welcher sich auf die Richtung bezieht, welche der X-Richtung entgegengesetzt ist, wird ausgewählt.
Fig. 5B ist eine Darstellung, anhand welcher die Initiali­ sierung des Vektors P und Δ P im einzelnen erläutert wird. In dieser Figur bezeichnen schraffrierte Kreise schwarze Bildelemente, und Zahlen, welche in den X- und Y-Richtungen ausgerichtet sind, bezeichnen Koordinaten. Ferner zeigen Pfeile die Richtung der Hauptabtastrichtung an. In dem dar­ gestellten Beispiel ist ein mit S bezeichnetes weißes Bild­ element, auf welches in der X-Richtung unmittelbar ein schwarzes Bildelement folgt. Ferner ist das weiße Bildele­ ment S als der Startpunkt bezeichnet. Der Positionsvektor des weißen Bildelements S ist als P = (3, 4) dargestellt. Die Hauptabtastrichtung bezogen auf den Startpunkt ist die Richtung nach rechts. Daher ist der Einheitsvektor Δ P, welcher zu dem Positionsvektor P zu addieren ist, welcher den Startpunkt angibt, ein Einheitsvektor der Richtung, welche der X-Richtung entgegengesetzt ist; d.h. Δ P = (-1,0).
Danach läßt die Verfolgungsprozedur den Verfolgungspunkt sich wie folgt bewegen. Auf vier angrenzende Bildelemente, welche an den oberen, unteren, linken und rechten Seiten des interessierenden Bildelements positioniert sind, wird nacheinander im Uhrzeigersinn zugegriffen, wobei von einem angrenzendem Bildelement gestartet wird, welches auf der linken Seite unter einem Winkel von 90° bezüglich der Richtung positioniert ist, in welchem die Verfolgung in Richtung des interessierenden Punkts fortschreitet. Wenn das erste Bildelement, auf welches ein Zugriff erfolgt ist, d.h. das angrenzende Bildelement, welches unter einem Winkel von 90° an der linken Seite bezüglich der Richtung positioniert ist, in welcher die Verfolgung den interessie­ renden Punkt erreicht hat, ein weißes Bildelement ist, wird die Verfolgung zu diesem weißen Bildelement verschoben. Wenn andererseits das erste Bildelement, auf welches ein Zugriff erfolgt ist, ein schwarzes Bildelement ist, wird das nächste (oder zweite) angrenzende Bildelement, welches das nächste Mal im Uhrzeigersinn erscheint, überprüft. Wenn dieses Bildelement ein weißes Bildelement ist, geht der Verfolgungspunkt zu diesem weiter; wenn es dagegen kein weißes Bildelement ist, wird das dritte benachbarte Bild­ element überprüft. Auf diese Weise werden nacheinander die benachbarten Bildelemente im Uhrzeigersinn überprüft, und es wird das erste weiße Bildelement festgestellt.
Der vorstehend beschriebene Prozeß entspricht einer Folge von Schritten 103 bis 107 in Fig. 5A. Beim Schritt 103 wird der Einheitsvektor Δ P entgegen dem Uhrzeigersinn um einen Winkel von 90° gedreht. Dann wird auf das durch den Vektor P + Δ P dargestellte Bildelement verwiesen und geprüft, ob es ein weißes Bildelement ist oder nicht (Schritte 104 und 105). Wenn das Ergebnis ja ist, wird auf den Schritt 107 übergegangen, bei welchem das durch den Vektor P be­ zeichnete Bildelement als der zu verfolgende Punkt regi­ striert wird. Wenn dagegen das Ergebnis nein ist, wird mit dem Schritt 106 fortgefahren, bei welchem der Einheitsvek­ tor Δ P im Uhrzeigersinn um einen Winkel von 90° gedreht wird. Dann werden der Schritt 104 und anschließend der Schritt 105 durchgeführt. Auf diese Weise wird der Verfol­ gungspunkt, welcher auf den interessierenden Punkt folgt, bestimmt und registriert. Anschließend wird beim Schritt 107 der laufende Vektor P + Δ P in den Vektor P eingefügt (Schritt 108). Es wird dann geprüft, ob die Verfolgung beendet ist oder nicht (Schritt 109). Mit anderen Worten, es wird geprüft, ob die Verfolgung zu dem Startpunkt zurück­ gekehrt ist oder nicht. Wenn die Verfolgung nicht beendet ist, kehrt das Verfolgungsprogramm auf den Schritt 103 zurück, und es wird die Folge der Schritte 103 bis 109 in der oben beschriebenen Art durchgeführt. Wenn dagegen die Verfolgung auf den Startpunkt zurückkehrt, ist sie beendet.
Ein konkretes Beispiel des vorstehend beschriebenen Zei­ chenverfolgungsprozesses ist in Fig. 6 bis 6C dargestellt. Fig. 6A zeigt einen Zustand, unmittelbar bevor der Schritt 103 durchgeführt wird. Ein Symbol bezeichnet einen regi­ strierten Verfolgungspunkt. In dem in Fig. 6A dargestellten Zustand wird das interessierende Bildelement P = P + Δ P der durch ein Symbol * bezeichneten Position als P = (2,3) und Δ P = (0,1) dargestellt ist. Dies entspricht dem Schritt 108 in Fig. 5A. Bezüglich dieses interessierenden Punkts wird der Einheitsvektor Δ P entgegen dem Uhrzeigersinn um 90° gedreht (Schritt 103) so daß Δ P = (1,0) (in rechtsläufiger Richtung) ist. Dann wird auf ein Bildelement bei P + Δ P Bezug genommen, wobei P = (2,4) und Δ P = (1,0) ist (Schritt 104). Dieses Bildelement ist an der durch ein in Fig. 6B dargestelltes Symbol ∆ angezeigten Stelle festgelegt. Dann wird überprüft, ob das beim Schritt 104 bestimmte Bildelement ein weißes Bildelement ist oder nicht (Schritt 105). In dem dargestellten Beispiel ist das Bild­ element an der Stelle ∆ ein weißes Bildelement. Daher wird der durch das Symbol bezeichnete, interessierende Punkt als der Verfolgungspunkt registriert (Schritt 107). Dann wird der interessierende Punkt in die Position ∆ verscho­ ben (Schritt 108). Zu diesem Zeitpunkt ist dann P = (2,4) und Δ P = (1,0) (rechtsgängige Richtung). Auf diese Weise wird der Richtungscode, welcher dem Einheitsvektor Δ P ent­ spricht, in einen Speicherbereich des Vektors (den laufen­ den Verfolgungspunkt) in dem Kontur-Speicherbereich 42 ge­ schrieben.
Beim Schritt 101 verweist die Zentraleinheit 2 auf die Richtungscodes, welche weißen Bildelementen zugeordnet sind, welche entlang der Kontur angeordnet sind, welche in dem Konturbild-Speicherbereich 42 gespeichert sind, und er­ zeugt eine Projektion jedes der verschiedenen Typen von Richtungscodes, indem das Konturbild in der horizontalen oder vertikalen Richtung projiziert wird. Diese Operation wird von dem in dem ROM-Speicher 3 gespeicherten Programm gesteuert, um die Projektion jedes der verschiedenen Typen der Richtungscodes zu erzeugen. Die erzeugte Projektion der Richtungscodes wird für jeden verschiedenen Typ in dem Teilungsdaten-Speicherbereich 43 gespeichert.
Danach legt die Zentraleinheit 2 ein Paar Teilungslinien zum Teilen des zweidimensionalen Codes, welcher einem Konturbild zugeteilt ist, mit Hilfe der Projektion jedes der verschiedenen Typen der Richtungscodes fest und sucht Positionen, an welchen die Teilungslinien das Konturbild schneiden.
Es werden nunmehr Beispiele des Prozeßschrittes 102 be­ schrieben, um Teilungslinien zu erhalten.
Beispiel 1 von Schritt 102
Beispiel 1 benutzt für jeden Typ die Projektion jedes der Richtungscodes, welche in der horizontalen Richtung erhalten worden sind. Positionen, an welchen die Projektion des Rich­ tungscodes #1 mit der Projektion des Richtungscodes #3 über­ einstimmt, werden gesucht, wobei jeweils von dem oberen und unteren Teil des Bildspeicherbereichs gestartet wird. Die erste Übereinstimmung zwischen den Richtungscodes #1 und #3, die von dem oberen Teil des Bildspeicherbereichs aus betrachtet worden sind, entspricht einer oberen Teilungs­ linie, welche in der horizontalen Richtung verläuft. In ähnlicher Weise entspricht die erste Übereinstimmung zwi­ schen den Richtungscodes #1 und #3 von dem unteren Teil des Bildspeicherbereichs einer unteren Teilungslinie, wel­ che in der horizontalen Richtung verläuft.
Fig. 7 ist eine Darstellung, welche das Beispiel 1 wieder­ gibt. Fig. 7(A) zeigt ein Bildmuster eines Zeichens "S" in dem Bildspeicherbereich zusammen mit Richtungscodes, wel­ che durch Verfolgen weißer Bildelemente, welche schwarzen Bildelementen der Kontur des Zeichenbilds benachbart sind, entgegen dem Uhrzeigersinn erhalten worden sind. Die dar­ gestellten Richtungscodes zeichnen eine Gruppe der Merk­ malsmengen des Konturteils des Zeichens "S". Danach wird auf das Konturbild, welches den Richtungscodes zugeordnet ist, als das zweidimensionale Konturmerkmalsbild verwiesen.
Fig. 7(B) zeigt eine Projektion jedes der Richtungscodes #1 bis #4, welche durch Projizieren des Merkmalkonturbildes in der horizontalen Richtung erhalten worden ist. Die Pro­ jektion kann folgendermaßen erhalten werden. Beispielsweise sind bezüglich der ersten Zeile des Bildspeicherbereichs die Anzahl der Richtungscodes #1, #2, #3 und #4 1, 0, 0, bzw. 5. Die gezählte Anzahl, welche für jede der verschiede­ nen Typen der Richtungscodes erhalten worden ist, zeigt ei­ nen jeweiligen Projektionswert. Ebenso kann die Projektion bezüglich der Linien 2 bis 22 erhalten werden. In Fig. 7(B) zeigen CUT-Y1 und CUT-Y2 Teilungslinien in den oberen bzw. unteren Teilen des Zeichenbildes, welche auf folgende Weise erhalten werden. In Fig. 7(B) sind die Projektionen der Richtungscodes #1 bis #4 dargestellt.
Fig. 8(A) ist ein Flußdiagramm eines Algorithmus zum Fest­ legen der Teilungslinie CUT-Y1, welche an einem oberen Teil des Zeichenbilds vorgesehen ist; Fig. 8(B) ist ein Flußdiagramm eines Algorithmus zum Festlegen der unteren Teilungslinie CUT-Y2, welche an deren unteren Teil vorgese­ hen ist. Der Algorithmus für die Teilungslinie CUT-Y1 hat eine symmetrische Beziehung bezüglich des Algorithmus für die Teilungslinie CUT-Y2. Nunmehr wird der Algorithmus für die Teilungslinie CUT-Y1 beschrieben.
Ein Schritt 111 in Fig. 8A ist ein Schritt, um eine End­ position eines Bereichs zum Suchen der Teilungslinie CUT-Y1 zu bestimmen. Dieser Schritt wird verwendet, um eine Dicke des Zeichens festzustellen. In dem Beispiel der Fig. 7(A) wird die erste Position, welcher der Wert der Projektion des Richtungscodes #2 in der horizontalen Richtung gleich einem Wert aus null wird, wird auf der Zeile 4 festgelegt. Die Position der Projektion des Richtungscodes #2 auf der Zeile 4, die auf diese Weise erhalten worden ist, soll durch LIM1+1 dargestellt sein. Dann wird festgesetzt, daß die Endposition des Bereichs zum Suchen der Teilungslinie CUT-Y1 eine Position in der Spalte ist, welche sich auf den Richtungscode #2 bezieht, welcher der Position LIM1+1 um eine Zeile vorangeht. Die Endposition des auf diese Weise erhaltenen Bereichs wird dann durch LIM1 dargestellt.
Ein Schritt 112 legt eine Prozedur fest, um eine Start­ position des Bereichs zum Suchen der Teilungslinie CUT-Y1 zu bestimmen. Hierdurch wird eine Position erhalten, an wel­ cher die beiden Werte der Projektionen der Richtungscodes #1 und #3, welche in der horizontalen Richtung projiziert worden sind, gleich Werten aus null werden. Die Startposi­ tion des auf diese Weise erhaltenen Bereichs entspricht dem oberen Ende des Zeichenbildes. In dem Beispiel der Fig. 7(A) ist die Zeile 2 die Startposition des Bereichs.
Schritte 113 und 114 legen eine Bedingung zum Bestimmen der Teilungslinie CUT-Y1 fest. Beim Schritt 113 wird eine Position, an welcher die erste Übereinstimmung zwischen den Werten der Projektionen der Richtungscodes #1 und #3 erhal­ ten wird in Abwärtsrichtung gesucht, wobei von der Zeile gestartet wird, welche der Zeile am nächsten ist, die beim Schritt 112 erhalten worden ist, d.h. der Zeile 3. Wenn dann die erste Übereinstimmung festgestellt wird, wird bestimmt, daß eine Zeile mit der ersten Übereinstimmung die Teilungs­ linie CUT-Y1 ist (Schritt 113). In dem Beispiel der Fig. 7(A) wird bestimmt, daß die Zeile 3 die Teilungslinie CUT-Y1 ist, was durch die Zuordnung von "+" dargestellt ist. Wenn die Position, welche der vorstehenden Voraussetzung genügt, nicht gefunden wird, wird bestimmt, daß eine Zeile mit der Endposition LIM1 des Bereichs die Teilungslinie CUT-Y1 ist (Schritt 114).
Der Algorithmus zum Bestimmen der Teilungslinie CUT-Y2 an der unteren Seite des Zeichenbereichs wird nunmehr anhand von Fig. 8B beschrieben. Beim Schritt 121 wird eine Posi­ tion, an welcher der Wert der Projektion des Richtungscodes #4 gleich einem Wert aus null wird, von der Unterseite des Bereichs der Fig. 7(A) aus gesucht. Die festgestellte Posi­ tion wird durch LIM2-1 dargestellt. Es wird festgesetzt, daß eine Position LIM2, welche auf die Position LIM2-1 folgt, eine Endposition eines Bereichs zum Suchen der Tei­ lungslinie CUT-Y2 ist. Dann wird beim Schritt 122 eine Po­ sition, an welcher die Werte der Projektionen der Richtungs­ codes #1 und #3 in der horizontalen Richtung gleich Werten aus null werden, in Aufwärtsrichtung gesucht, wobei von der Unterseite des bereichs gestartet wird. Die festge­ stellte Position beim Start 122 ist die unterste Position des Zeichenbildes. Danach wird eine Position, an welcher die erste Übereinstimmung zwischen den Richtungscodes #1 und #3 erhalten wird, in Aufwärtsrichtung gesucht, wobei von der Linie, welche der Linie vorausgeht, die beim Schritt 122 erhalten worden ist, gestartet wird. Wenn eine derartige Position festgestellt wird, wird eine Linie, welche sich auf die festgestellte Position bezieht, als die Bereichs­ teilungslinie CUT-Y2 festgelegt (Schritt 123). Wenn eine derartige Position nicht festgestellt wird, wird entschie­ den, daß die Zeile mit der Endposition LIM2 die Teilungs­ linie CUT-Y2 ist (Schritt 124).
Die vorstehend beschriebene Voraussetzung zum Festlegen der Teilungslinie hat die Funktion, Störungen, welche in dem Zeichenbild enthalten sind, zu beseitigen. In Fig. 9A bis 9C ist der vorerwähnte Vorteil wiedergegeben. Fig. 9A betrifft einen Fall, bei welchem das Zeichenbild keine Störung hat, während Fig. 9B und 9C Fälle betreffen, bei welchen das Zeichenbild Störungen aufweist. Eine Störung, welche in dem Zeichenbild der Fig. 9B enthalten ist, ist an Positionen (x, y,) = (10, 3) und (11, 3) enthalten und eine Störung, welche in dem Zeichenbild der Fig. 9(C) ent­ halten ist, ist an Positionen (6, 2) und (11, 2) festge­ legt. Aus Fig. 9B und 9C kann ersehen werden, daß der Algorithmus der Fig. 8A die entsprechende Lage der Teilungs­ linie CUT-Y1 bestimmen kann, ohne durch das Vorhandensein einer Störung beeinflußt zu werden, welche an dem oberen Ende des Zeichenbildes enthalten ist. In Fig. 9B ist die Teilungslinie CUT-Y1 auf der Zeile 3 festgelegt, und die Teilungslinie CUT-Y1 der Fig. 9C ist an der Zeile 3 festge­ legt. Aus der vorstehenden Beschreibung ist zu ersehen, daß die Teilungslinie CUT-Y2 erhalten werden kann, ohne durch die vorhandene Störung beeinflußt zu werden, welche an dem unteren Ende des Zeichenbilds enthalten ist.
Fig. 10A ist ein detailliertes Flußdiagramm des Algorithmus, um die in der Fig. 8A dargestellte Teilungslinie CUT-Y1 zu bestimmen, und Fig. 10B ist ein detailliertes Flußdiagramm des Algorithmus, um die in Fig. 8B dargestellte Teilungs­ linie CUT-Y2 zu bestimmen. Eine Programmschleife, welche aus Schritten 132 und 133 besteht, eine Programmschleife, welche aus Schritten 136 bis 138 besteht und eine Programm­ schleife, welche aus Schritten 139 bis 141 der Fig. 10A besteht, entsprechen Schritten 111, 112 bzw. 113 der Fig. 8A eine Schleife aus Schritten 152 und 153, eine Schleife aus Schritten 156 bis 158 und eine Schleife aus Schritten 159 bis 161 der Fig. 10B entsprechen Schritten 121, 122 bzw. 123 der Fig. 8B. In Fig. 10A und 10B ist mit "Y" eine X-te Zeile (Reihe) des Bildspeicherbereichs, welcher ein Zeichenbild enthält, und mit "#1(Y)", "#2(Y)" und "#3(Y)" sind Werte der Projektionen der Richtungscodes #1, #2 bzw. #3 bezeichnet. Mit "END OF FUF" ist die niedrigstwertige Adresse der erzeugten Projektion bezeichnet.
In Fig. 10A wird ein Wert "0" beim Schritt 132 bei Y einge­ fügt. Dann wird Y beim Schritt 132 um eins inkrementiert. Dann wird der Wert der #2(Y) in dem Schritt 133 mit einem Wert 0 verglichen. Ein Symbol ":" zeigt einen Vergleich an. Wenn die beiden Werte miteinander gleich sind, wird auf den Schritt 132 zurückgekehrt. Wenn nicht, wird LIM1 beim Schritt 132 auf Y-1 gesetzt, und Y wird auf einen Wert 0 gesetzt. In dem Beispiel der Fig. 7 wird beim Schritt 134 bestimmt, daß die Endposition LIM1 auf der Zeile 3 liegt (LIM1 = 3). Beim Schritt 136 wird Y um 1 inkrementiert, und CK wird auf MINI (#1(y), #3(Y)), beim Schritt 137 ge­ setzt. Ein Operator MINI (#1(Y), #3(Y)) bezeichnet die Aus­ wahl von kleiner eins von #1(Y) und #3(Y), und "CK" ist ein Arbeitsbereich. Beim Schritt 138 wird der Wert CK mit 0 verglichen. Wenn die beiden Werte nicht gleich sind, wird auf den Schritt 136 zurückgegangen. Umgekehrt wird, wenn beide Werte miteinander gleich sind, bei einem Schritt 139 fortgefahren. In dem Beispiel der Fig. 7 wird die Zeile 2, für welche die Werte der Projektionen der Richtungscodes #1 und #2 nicht null sind, beim Schritt 138 festgestellt. Danach wird Y beim Schritt 139 um 1 inkrementiert. Dann wird Y beim Schritt 140 mit LIM1 verglichen. Wenn LIM1 größer als Y ist, wird #1(y) beim Schritt 141 mit #3(Y) verglichen. Wenn die beiden Werte nicht dieselben sind, wird auf den Schritt 139 zurückgegangen. Wenn dagegen die beiden Werte die gleichen sind, wird beim Schritt 142 fortgefahren. Wenn Y beim Schritt 140 größer als LIM1 ist, wird auch beim Schritt 142 fortgefahren. Beim Schritt 142 wird bestimmt, daß eine Zeile mit dem laufenden Wert von Y die Teilungs­ linie CUT-Y1 ist.
Schritte 151 bis 162 der Fig. 10B ergeben sich aus der Beschreibung bezüglich des Logerithmus der Fig. 10A. Daher wird Fig. 10B nicht mehr im einzelnen beschrieben.
Beispiel 2 von Schritt 102
Beim Beispiel 2 wird die horizontale Projektion jedes der Richtungscodes #1 bis #4 wie im Falle des vorstehend be­ schriebenen Beispiels 1 verwendet. Beim Beispiel 2 ist die Aufmerksamkeit auf die Richtungscodes #2 und #4 ge­ richtet, welche die horizontalen Richtungen anzeigen.
In Fig. 11 ist das Beispiel 2 dargestellt; Fig. 12A ist ein Flußdiagramm eines Algorithmus zum Festlegen der Tei­ lungslinie CUT-Y1 an der oberen Seite des Zeichenbildes, und Fig. 12B ist ein Flußdiagramm eines Algorithmus zum Bestimmen der Teilungslinie CUT-Y2 an der unteren Seite des Zeichenbildes. In Fig. 12A betreffen Schritte 171 und 172 einen Vorgang, um einen Bereich zu erhalten, in welchem die Teilungslinie CUT-Y1 gesucht wird. Schritte 173 und 174 legen eine Bedingung zum Bestimmen der Teilungslinie CUT-Y1 fest. Die Schritte der Fig. 12B haben dieselben Funktionen wie diejenigen der Fig. 12A.
Beim Schritt 171 der Fig. 12A wird eine Position, an wel­ cher der Wert der horizontalen Projektionsrichtungscodes #2 gleich einem Wert aus null wird, von dem oberen Ende des in Fig. 11(A) dargestellten Bildspeicherbereichs gesucht. Diese Position entspricht LIM1+1. Dann wird beim Schritt 172 eine Position, an welcher der Wert der horizontalen Projektion jedes der Richtungscodes #1 und #3 gleich einem Wert aus null wird, von dem oberen Ende des Bildspeicher­ bereichs aus gesucht. Danach wird beim Schritt 173 eine Position, an welcher der kleinste Wert der Projektion des #2 erhalten wird, in Abwärtsrichtung in dem Bereich von der Position, welche der Position am nächsten ist, die beim Schritt 172 erhalten worden ist, bis zu der Endposition LIM1 des Bereichs gesucht. Wenn eine derartige Position beim Schritt 173 festgestellt wird, wird bestimmt, daß die Zeile an der festgestellten Position die Teilungslinie CUT-Y1 ist (Schritt 174) ist. Wenn die Position beim Schritt 173 nicht festgestellt wird, wird bestimmt, daß die Zeile mit der Endposition LIM1 die Teilungslinie CUT-Y1 ist (Schritt 174).
In Fig. 12B wird beim Schritt 181 eine Position, an wel­ cher der Wert der horizontalen Projektion des Richtungs­ codes #4 gleich einem Wert aus null wird, von der Unterseite des Bildsspeicherbereichs her gesucht. Die gefundene Posi­ tion entspricht dann der Position LIM2-1. Dann wird beim Schritt 182 eine Position, an welcher der Wert der hori­ zontalen Projektion jedes der Richtungscode #1 und #3 gleich einem Wert aus null wird, von der Unterseite des Bildspeicherbereichs aus gesucht. Danach wird beim Schritt 183 eine Position, an welcher der niedrigste Wert der Pro­ jektion des Richtungscodes #4 erhalten wird, in Aufwärts­ richtung in dem Bereich von der Position aus, welche der beim Schritt 182 erhaltenen Position am nächsten ist, bis zu der Endposition LIM2 gesucht. Wenn eine derartige Posi­ tion beim Schritt 183 festgestellt wird, wird bestimmt, daß die Zeile an der festgestellten Position die Teilungslinie CUT-Y2 ist (Schritt 184). Wenn dagegen die Position beim Schritt 183 nicht festgestellt wird, wird bestimmt, daß die Zeile, welche der Endposition LIM2 zugeordnet ist, die Teilungslinie CUT-Y2 ist (Schritt 184).
Auf diese Weise werden die obere Teilungslinie CUT-Y1, welche an der Zeile 3 festgestellt ist, und die untere Teilungslinie CUT-Y2, welche an der Zeile 19 festgelegt ist, erhalten.
Beispiel 3 von Schritt 102
Beim Beispiel 3 wird eine Projektion jedes der Richtungs­ codes #1 bis #4 in der vertikalen Richtung verwendet. Beim Beispiel 3 wird eine Position, an welcher die erste Über­ einstimmung zwischen den Werten der Richtungscodes #2 und #4 erhalten wird, von den rechten und linken Enden des Bildspeicherbereichs aus gesucht.
Fig. 13A ist ein Flußdiagramm eines Algorithmus zum Be­ stimmen einer Teilungslinie, welche an der linken Seite des Bildspeicherbereichs eingestellt. Der Algorithmus der Fig. 13A weist Schritte 191 bis 194 und der Algorithmus der Fig. 13B weist Schritte 201 bis 204 auf. Das Beispiel 3 entspricht einem Algorithmus, welcher durch Anwenden des vorstehend beschriebenen Beispiels 1 auf die Bestimmung der Teilungslinien in der vertikalen Richtung erhalten wor­ den ist. Daher wird der Algorithmus der Fig. 13A und 13B dadurch erhalten, daß einfach "oben" und "unten" der Fig. 8A und 8B gegen "links" und "rechts" und "#1" und "#3" gegen "#2" bzw. "#4" ausgetauscht wird. Aus diesem Grund sind Fig. 13A und 13B nicht noch einmal erläutert.
Beispiel 4 von Schritt 102
Beim Beispiel 4 wird die vertikale Projektion jedes der Richtungscodes #1 bis #4 wie im Falle des Beispiels 3 ver­ wendet. Bei der Ausführungsform 4 ist die Aufmerksamkeit auf die Richtungscodes #1 und #3 gerichtet. Das Beispiel 4 sucht eine Position, an welcher der kleinste Wert der vertikalen Projektion des Richtungscodes #1 in einem Be­ reich liegt, um die Teilungslinie zu suchen, welche an der linken Seite des Bildspeicherbereichs positioniert ist, wo­ bei von dem linken Ende des Bildspeicherbereichs gestartet wird. Beim Beispiel 4 wird eine Position gesucht, an wel­ cher der kleinste Wert der vertikalen Projektion der Rich­ tungscodes #3 in einem Bereich liegt, um die Teilungslinie zu suchen, welche an der rechten Seite des Speicherbereichs positioniert ist, wobei von dem rechten Ende des Bildspei­ cherbereichs gestartet wird.
Fig. 14A ist ein Flußdiagramm eines Algorithmus zum Bestim­ men der Teilungslinie an der linken Seite des Bildspeicher­ bereichs, und Fig. 14B ist Flußdiagramm eines Algorithmus zum Bestimmen der Teilungslinie an der rechten Seite des Bildspeicherbereichs.
Schritte 211 und 212 der Fig. 14A sind dieselben wie die Schritte 191 und 192 von Fig. 13A. Das heißt, beim Schritt 211 wird eine Position gesucht, an welcher der Wert der vertikalen Projektion des Richtungscodes #3 gleich einem Wert null wird, wobei von dem linken Ende des Bildspei­ cherbereichs gestartet wird. Die gefundene Position ent­ spricht LIM1+1. Daher ist das Ende des Bereichs, um die Tei­ lungslinie an der linken Seite zu erhalten, die Position LIM1. Dann wird beim Schritt 212 eine Position gesucht, an welcher die beiden Werte der Projektionen der Richtungs­ codes #2 und #4 gleich Werten außer null sind. Beim Schritt 213 wird in der rechtsläufigen Richtung eine Position ge­ sucht, an welcher der kleinste Wert der Projektion des Rich­ tungscodes #1 in einem Bereich zwischen der Linie, welche (in der rechtsläufigen Richtung) der Position folgt, die beim Schritt 211 erhalten worden ist, und der Position LIM2 erhalten wird. Dann wird beim Schritt 212 bestimmt, daß die Linie an der festgestellten Position die Teilungs­ linie auf der linken Seite ist.
Die Schritte 221 und 222 der Fig. 14A sind dieselben, wie die Schritte 201 und 202 der Fig. 13B. Beim Schritt 223 wird in der linksläufigen Richtung eine Position gesucht, an welcher der kleinste Wert der Projektion des Richtungs­ codes #3 in dem Bereich zwischen der Linie, welche (in der linksläufigen Richtung) der Position folgt, die beim Schritt 221 erhalten worden ist und der Position LIM2 erhalten.
Dann wird beim Schritt 224 bestimmt, daß die Linie be­ züglich der festgestellten Position die Teilungslinie an der rechten Seite ist.
Die Beispiele 1 bis 4 betreffen den Fall, daß die Merkmals­ mengen des Konturteils durch die Richtungscodes #1 bis #4 dargestellt werden. Jedoch sind die Beispiele 1 bis 4 nicht auf die Verarbeitung des Konturmerkmalsbildes beschränkt, welches durch die Richtungscodes dargestellt ist, sondern sind auch in Fällen anwendbar, wo herkömmliche Codes außer den Richtungscodes verwendet werden.
Schritt 103 (Fig. 2)
Beim Schritt 103 wird der einem Konturbild zugeteilte Richtungscode durch die Teilungslinien CUT-Y1 und CUT-Y2 in eine Anzahl Segmente geteilt. Ferner wird jedes der Segmente gleichmäßig in eine Anzahl Teile oder Untersegmente geteilt.
Dieses Verfahren wird anhand von Fig. 15A bis 15E beschrie­ ben. In Fig. 15A ist ein Großbuchstabe "A" mit ornamentalen Teilen dargestellt, welche durch gestrichelte Linien ein­ gekreist sind. Wenn das Verfahren des Schrittes 102 bei dem Buchstaben "A" angewendet wird, werden ein Paar Tei­ lungslinien CUT-Y1 und CUT-Y2 so, wie in Fig. 15A darge­ stellt, festgelegt. Wie in Fig. 15B dargestellt, wird das Zeichenbild durch die Teilungslinien CUT-Y1 und CUT-Y2 in vier Segmente unterteilt. Hierbei wird der ornamentale Teil am oberen Teil des Zeichens in zwei Teile geteilt. Ebenso werden auch die ornamentalen Teile im unteren Be­ reich des Zeichens in zwei Teile geteilt. Ferner ist jedes der vier Segmente gleichmäßig in vier Teile oder Unterseg­ mente geteilt, wie in Fig. 15c dargestellt ist. Dies kann durch Bezugnahme auf die Koordinaten des Zeichenbildes er­ folgen. Positionsinformation für die Untersegmente ist in dem Teilungsdaten-Speicherbereich 43 (Fig. 1) gespeichert.
Schritt 104
Der Schritt 104 betrifft eine Prozedur, um einige der Un­ tersegmente, wie in Fig. 15c dargestellt, entsprechend einer in Fig. 16 wiedergegebenen Untersegment-Zusammensetztabelle zusammenzusetzen, welche in den ROM-Speicher 3 gespeichert ist.
Die Zentraleinheit 2 gibt eine Segmentzahl "seg" an jedes der Segmente. Beispielsweise werden, wie in Fig. 16 dar­ gestellt, Segmentzahlen "seg" 1, 2, 3 und 4 den vier in Fig. 15B dargestellten Segmenten zugeordnet. Ferner teilt die Zentraleinheit 2 den Untersegmentzahlen "rgn" zu. Bei­ spielsweise werden, wie in Fig. 16 dargestellt, Unterseg­ mentzahlen "rgn" 1, 2, 3 und 4 den 4 Untersegmenten zuge­ teilt, welche für jedes Segment erhalten worden sind. Eine in Fig. 16 dargestellte Untersegment-Zusammensetzzahl zeigt einige der zusammenzusetzenden Untersegmente, oder mit anderen zeigt, wie einige Untersegmente zusammenzusetzen sind, um ein zusammengesetztes Zeichen zu bilden.
Das beim Schritt 104 ablaufende Verfahren ist in Fig. 17 dargestellt. In Fig. 17 wird die Segmentzahl "seg" aus 0 gesetzt, so daß initialisiert wird. (Schritt 301). Als nächstes wird (seg +1) in seg einbezogen, und mit anderen Worten die Untersegment-Zahl wird um 1 inkrementiert (Schritt 304). Dann setzt die Zentraleinheit 2 einige Untersegmente unter Bezugnahme auf die Untersegmentzusam­ mensetztabelle zusammen, wie in Fig. 16 dargestellt ist. (Schritt 305). Dann bestimmt die Zentraleinheit 2, ob die laufende Untersegment-Zahl rgn gleich oder kleiner als 4 ist (Schritt 306). Wenn das Ergebnis beim Schritt 306 ja ist, wird auf den Schritt 304 zurückgegangen. Wenn dagegen das Ergebnis beim Schritt 306 nein ist, wird beim Schritt 307 fortgefahren, bei welchem die Zentraleinheit 2 unter­ scheidet, ob die Segmentzahl seg gleich oder kleiner als 4 ist (Schritt 307). Wenn das Ergebnis beim Schritt 307 ja ist, wird auf den Schritt 302 zurückgegangen. Wenn da­ gegen das Ergebnis beim Schritt 307 nein ist, sind alle Segmente verarbeitet worden und folglich ist das Verfahren beendet.
Wenn in dem Beispiel der Fig. 16 beim Schritt 304 rgn = 1 ist, wird die Untersegment-Zusammensetzzahl der Untersegment- Zahl 1 zugeordnet. Daher wird das Untersegment der Unterseg­ ment-Zahl 1 als ein zusammengesetztes Segment so, wie es ist, verwendet. Die Tabelle der Fig. 16 zeigt, daß die Unterseg­ mente der Untersegmentzahlen 2 und 3 zusammengesetzt werden sollten, um ein zusammengesetztes Segment der Untersegment- Zusammensetzzahl 2 zu bilden. Folglich setzt die Zentralein­ heit 2 diese Untersegmente beim Schritt 304 zusammen. Die Tabelle der Fig. 16 zeigt, daß ein Untersegment der Unter­ segment-Zahl 4, welche das Segment der Segmentzahl 1 ein­ schließt, und ein Untersegment der Untersegmentzahl 1, welches in dem Segment der Segmentzahl erhalten ist, zu­ sammengesetzt werden sollten, um so ein zuzammengesetztes Segment der Untersegment-Zusammensetzzahl 3 zu bilden. Daher setzt die Zentraleinheit 1 diese Untersegmente beim Schritt 305 zusammen. Auf diese Weise werden einige Untersegmente zusammengesetzt, um so eine Anzahl von zusammengesetzten Segmenten (in Fig. 16 von 8 zusammengesetzten Segmenten) zu schaffen.
In Fig. 15E sind die Ergebnisse dargestellt, welche dadurch erhalten worden sind, daß die in Fig. 15C dargestellten Untersegmente der Prozedur der Fig. 17 unterzogen werden. Wie in Fig. 18E dargestellt, sind 8 zusammengesetzte Seg­ mente gebildet. In Fig. 15D ist schematisch gezeigt, wie einige Untersegmente zusammenzusetzen sind. Aus einem Ver­ gleich zwischen 15B und 15D ist zu ersehen, daß getrennte Teile jeder der ornamentalen Teile nach der Durchführung des Verfahrensschrittes 104 zusammengesetzt sind.
Schritt 105"
Beim Schritt 105 werden die beim Schritt 104 erhaltenen, zusammengesetzten Segmente wieder vereinigt, um so eine vorherbestimmte Anzahl wiedervereinigter Segmente zu bilden. Der Wiedervereinigungsprozeß kann in ähnlicher Weise wie der Zusammensetzprozeß der Fig. 104 durchgeführt werden. In Fig. 18A ist schematisch das Ergebnis des Schrittes 104 dargestellt. Zahlen oder zeigen die zusammen­ gesetzten Segmente an. Beim Schritt 105 werden die zusammen­ gesetzten Segmente bis in der folgenden Weise wieder vereinigt:
Die vorstehend wiedergegebenen Formeln, welche zeigen, wie die Segmente zusammenzusetzen sind, sind vorher in dem ROM- Speicher 3 gespeichert. die vorstehenden Formeln sind in Fig. 18B dargestellt. Hierbei wird das zusammengesetzte Seg­ ment gemeinsam verwendet, um die wiedervereinigten Seg­ mente (1) und (2) zu bilden. In ähnlicher Weise werden die zusammengesetzten Elemente, welche zwischen den zusammenge­ setzten Segmenten angeordnet sind, welche an den Ecken der Bilder festgelegt sind, gemeinsam verwendet, um die wieder­ vereinigten Segmente zu bilden. In dem dargestellten Beispiel besteht jedes der wiedervereinigten Segmente aus einer festgelegten Anzahl von zusammengesetzten Elementen, d.h. von 3 zusammengesetzten Segmenten.
Andernfalls werden die wiedervereinigten Segmente in der folgenden Weise gebildet:
Diese Formeln sind in Fig. 18C dargestellt. Bei der Alterna­ tive werden die zusammengesetzten Segmente, die zum Bilden von Eckteilen des Zeichens verwendet worden sind, gemeinsam verwendet, um die wiedervereinigten Segmente zu bilden. In dem dargestellten Beispiel besteht jedes der wiedervereinig­ ten Segmente aus einer fest vorgegebenen Anzahl zusammenge­ setzter Segmente, d.h. aus 3 zusammengesetzten Segmenten.
Schritt 106
Beim Schritt 106 wird ein Histogramm der Richtungscodes, welche der Kontur zugeordnet sind, für jedes der zusammen­ gesetzten Segmente erzeugt, die beim Schritt 104 erhalten worden sind. Das Histogramm zeigt ein Merkmal jedes zu­ sammengesetzten Segmentes und folgt zeigt eine Gruppe der Histogramme für alle Segmente ein Merkmal eines zu erkennen­ den Zeichens. Jeder der ornamentalen Teile eines durch die zusammengesetzten Segmente gebildeten Zeichenbildes ist nicht in Teile unterteilt, sondern in einem zusammenge­ setzten Segment enthalten. Daher wird es möglich, ein un­ veränderliches Merkmal zu extrahieren, daß ornamentale Teile eines Zeichens berücksichtigt. Außerdem wird eine Störung infolge des Vorhandenseins eines gewählten Teils, welcher in der Kontur erscheint, wirksam durch die An­ wendung eines Paars Teilungslinien CUT-Y1 und CUT-Y2 be­ seitigt. Die Erzeugung eines Histogramms kann mittels eines bekannten Verfahrens erfolgen.
Schritt 107
Beim Schritt 107 wird ein Histogramm der Richtungscodes, welche der Kontur zugeordnet sind, für jedes der beim Schritt 105 erhaltenen, wiedervereinigten Segmente erzeugt. Die Histogramme, welche beim Schritt 107 erzeugt worden :ind, zeigen grob ein Merkmal des Zeichens. Daher sind die beim Schritt 107 erzeugten Histogramme für eine Zeichen­ klassifizierung brauchbar, welche vor der Zeichenerkennung durchzuführen sind, bei welcher die beim Schritt 106 er­ haltenen Histogramme verwendet werden. Dadurch ist es mög­ lich, die Anzahl Vorgänge beträchtlich zu verringern, bei welchen Histogramme mit Histogrammen von in einem Wörter­ buch gespeicherten Bezugszeichen verglichen werden.
In der vorstehend beschriebenen Ausführungsform sind alle Segmente, die beim Schritt 103 erhalten worden sind, wie in Fig. 15B dargestellt, in eine feste Anzahl Untersegmente aufgeteilt. Andererseits kann jedoch die Anzahl an Unter­ segmenten auch für jedes Segment geändert werden. Dies kann dadurch erfolgen, daß ein topologisches Merkmal jedes Seg­ ments extrahiert wird, das einer diesbezüglichen Teilungs­ linie oder beiden zugeordnet wird und in dem in Abhängigkeit von des extrahierten topologischen Merkmal eine entsprechen­ de Anzahl Untersegmente bestimmt wird.

Claims (18)

1. Verfahren zum Extrahieren eines Zeichenmerkmals, bei welchem Verfahren ein Konturbild eines Zeichens in eine Anzahl Segmente durch Bezugnahme auf ein Paar Teilungsli­ nien geteilt wird, welche für das Konturbild vorgesehen sind, dadurch gekennzeichnet, daß
jedes der Segmente in eine Anzahl Untersegmente geteilt wird;
die Untersegmente zusammengesetzt werden, um eine Anzahl zusammengesetzter Segmente entsprechend einer vorherbe­ stimmten Regel zu bilden, welche eine Zusammensetzung der Untersegmente anzeigt, und
ein Merkmal jedes der zusammengesetzten Segmente extrahiert wird.
2. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Untersegmente jeweils für eine vor herbestimmte Anzahl Untersegmente zusammengesetzt werden.
3. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß die vorherbestimmte Regel in Form einer Tabelle vorliegt, welche eine erste Anzahl zum Be­ zeichnen der entsprechenden Segmente, eine zweite Anzahl zum Bezeichnen der entsprechenden Untersegmente, welche für jedes Segment gebildet worden sind, und eine dritte Anzahl festlegt, um die entsprechenden zusammengesetzten Segmente zu bezeichnen, welche durch Zusammensetzen einiger der Untersegmente gebildet worden sind.
4. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß das Teilen des Konturbildes die Schritte aufweist, weiße oder schwarze Bildelemente, welche entlang des Konturbildes angeordnet sind, verfolgen den weißen oder schwarzen Bildelementen Richtungscodes zu ordnen, welche die jeweiligen Richtungen der Bewegung der Verfolgung anzeigen, und das Paar Teilungslinien dadurch festlegen, daß eine Vertei­ lung jedes der Richtungscodes berechnet wird.
5. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß das Paar Teilungslinien parallel zu­ einander ist und an oberen und unteren Teilen des Kontur­ bildes vorgesehen wird.
6. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß das Merkmal jedes der zusammenge­ setzten Segmente aus Richtungscodes extrahiert wird, welche Bildelementen zugeordnet sind, die das Konturbild erzeugen.
7. Verfahren nach Anspruch 6, dadurch gekenn­ zeichnet, daß das Merkmal jedes der zusammenge­ setzten Segmente ein Histogramm der Richtungscodes enthält.
8. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß eine Anzahl Untersegmente, welche durch Teilen jedes der Untersegmente zu bilden sind, auf der Basis einer Beziehung zwischen jedem der Segmente und dem Paar Teilungslinien ausgewählt wird.
9. Verfahren zum Extrahieren eines Zeichenmerkmals, bei welchem ein Konturbild eines Zeichens in eine Anzahl Segmente durch Bezugnahme auf ein Paar Teilungslinien geteilt wird, welche für das Konturbild vorgesehen sind, dadurch gekennzeichnet, daß
jedes der Segmente in eine Anzahl Untersegmente geteilt wird;
die Untersegmente zusammengesetzt werden, um dadurch eine Anzahl zusammengesetzter Elemente entsprechend einer vor­ herbestimmten ersten Regel zu bilden, welche eine Zusam­ mensetzung der Untersegmente angibt;
die zusammengesetzten Segmente zusammengesetzt werden, um dadurch eine Anzahl vereinigter Segmente entsprechend einer vorherbestimmten zweiten Regel zu bilden, welche eine Wiedervereinigung der zusammengesetzten Segmente anzeigt, ein erstes Merkmal jedes der zusammengesetzten Segmente ex­ trahiert wird, und
ein zweites Merkmal jedes der wiedervereinigten Segmente extrahiert wird.
10. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß das erste extrahierte Merkmal zur Zeichenerkennung verwendet wird, und das zweite extrahierte Merkmal zum Identifizieren einer Klassifizierung verwendet wird, zu welcher das Zeichen in Beziehung steht, und daß, wenn das Zeichen einer Zeichenerkennung unterzogen wird, das Zeichen basierend auf dem zweiten extrahierten Merkmal klassifiziert wird, und dann das erste extrahierte Merkmal mit einem Bezugsmerkmal verglichen wird, das Beziehung zu der Klassifizierung hat.
11. Verfahren nach Anspruch 10, dadurch gekenn­ zeichnet, daß die zusammengesetzten Segmente jeweils für eine vorherbestimmte Anzahl zusammengesetzter Segmente zusammengesetzt werden.
12. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß die zusammengesetzten Segmente zusam­ mengesetzt werden, so daß zusammengesetzte Segmente unter den zusammengesetzten Segmenten, welche zwischen den Paar Teilungslinien festgelegt sind, gemeinsam verwendet werden, um einige der Anzahl wiedervereinigter Elemente zu bilden.
13. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß die zusammengesetzten Segmente so zu­ sammengesetzt werden, daß zusammengesetzte Segmente unter der Vielzahl zusammengesetzter Segmente, welche an Eck­ teilen des Zeichens festgelegt sind, gemeinsam verwendet werden, um einige der Anzahl wiedervereinigter Segmente zu bilden.
14. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß die zweite Regel in Form einer Formel festgelegt ist, welche zeigt, wie die zusammengesetzten Segmente zusammenzusetzen sind.
15. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß das Teilen des Konturbildes die Schritte aufweist, weiße und schwarze Bildelemente ver­ folgen, welche entlang der Bildkontur angeordnet sind; den weißen oder schwarzen Bildelementen Richtungscodes zuordnen, welche entsprechende Richtungen der Bewegung der Verfolgung anzeigen, und das Paar Teilungslinien durch Berechnen einer Verteilung jedes der Richtungscodes festgelegt wird.
16. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß das Paar Teilungslinien parallel zu­ einander ist und an oberen und unteren Teilen des Kontur­ bildes vorgesehen wird.
17. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß das Merkmal jedes der zusammenge­ setzten Segmente aus Richtungscodes extrahiert wird, welche Bildelementen zugeordnet sind, welche das Konturbild schaf­ fen.
18. Verfahren nach Anspruch 9, dadurch gekenn­ zeichnet, daß das Merkmal jedes der zusammenge­ setzten Segmente ein Histogramm der Richtungscodes ent­ hält.
DE3923914A 1988-07-20 1989-07-19 Verfahren zum Extrahieren von Merkmalsgrößen eines Zeichens Expired - Fee Related DE3923914C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63181368A JPH0229886A (ja) 1988-07-20 1988-07-20 特徴量抽出方法

Publications (2)

Publication Number Publication Date
DE3923914A1 true DE3923914A1 (de) 1990-02-15
DE3923914C2 DE3923914C2 (de) 1994-02-03

Family

ID=16099504

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3923914A Expired - Fee Related DE3923914C2 (de) 1988-07-20 1989-07-19 Verfahren zum Extrahieren von Merkmalsgrößen eines Zeichens

Country Status (3)

Country Link
US (1) US5018216A (de)
JP (1) JPH0229886A (de)
DE (1) DE3923914C2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170440A (en) * 1991-01-30 1992-12-08 Nec Research Institute, Inc. Perceptual grouping by multiple hypothesis probabilistic data association
US5666440A (en) * 1991-07-31 1997-09-09 Victor Company Of Japan, Ltd. Method and apparatus for extracting outline data from bi-level image data
US5341438A (en) * 1992-07-22 1994-08-23 Eastman Kodak Company Method and apparatus for segmenting and classifying unconstrained handwritten characters
US5553224A (en) * 1993-08-04 1996-09-03 Xerox Corporation Method for dynamically maintaining multiple structural interpretations in graphics system
US6625317B1 (en) 1995-09-12 2003-09-23 Art Gaffin Visual imaging system and method
US5768421A (en) * 1995-09-12 1998-06-16 Gaffin; Arthur Zay Visual imaging system and method
JP4704601B2 (ja) * 2000-11-01 2011-06-15 富士通株式会社 文字認識方法,プログラム及び記録媒体
JP4013478B2 (ja) * 2000-12-25 2007-11-28 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
US7587086B2 (en) * 2004-06-04 2009-09-08 Microsoft Corporation Identifying selected pixels in a digital image
US7970239B2 (en) 2006-01-19 2011-06-28 Qualcomm Incorporated Hand jitter reduction compensating for rotational motion
US8120658B2 (en) * 2006-01-19 2012-02-21 Qualcomm Incorporated Hand jitter reduction system for cameras
US8019179B2 (en) * 2006-01-19 2011-09-13 Qualcomm Incorporated Hand jitter reduction for compensating for linear displacement
JP4909216B2 (ja) * 2006-09-13 2012-04-04 株式会社キーエンス 文字切り出し装置、方法およびプログラム
CN115223173A (zh) * 2022-09-20 2022-10-21 深圳市志奋领科技有限公司 对象识别方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1948428B2 (de) * 1968-09-26 1973-06-07 Chevron Research Co , San Francisco, Cahf (V St A ) Verfahren zur gewinnung von nh tief 3 und h tief 2s aus einer leichte kohlenwasserstoffe, wasserstoff sowie h tief 2s und nh tief 3 enthaltenden ausgangsloesung
DE3716787A1 (de) * 1986-05-19 1987-11-26 Ricoh Kk Zeichenerkennungsverfahren

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537786B2 (de) * 1973-11-08 1980-09-30
JPS5418632A (en) * 1977-07-12 1979-02-10 Nippon Telegr & Teleph Corp <Ntt> Character identification system
JPS5949655A (ja) * 1982-09-14 1984-03-22 Dainippon Screen Mfg Co Ltd 2値図形パターンの輪郭データ作成方法
JPS6279582A (ja) * 1985-10-03 1987-04-11 Ricoh Co Ltd 文字認識用辞書作成方式
US4903313A (en) * 1986-07-03 1990-02-20 Ricoh Company, Ltd. Character recognition method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1948428B2 (de) * 1968-09-26 1973-06-07 Chevron Research Co , San Francisco, Cahf (V St A ) Verfahren zur gewinnung von nh tief 3 und h tief 2s aus einer leichte kohlenwasserstoffe, wasserstoff sowie h tief 2s und nh tief 3 enthaltenden ausgangsloesung
DE3716787A1 (de) * 1986-05-19 1987-11-26 Ricoh Kk Zeichenerkennungsverfahren

Also Published As

Publication number Publication date
DE3923914C2 (de) 1994-02-03
US5018216A (en) 1991-05-21
JPH0229886A (ja) 1990-01-31

Similar Documents

Publication Publication Date Title
DE19837004C1 (de) Verfahren zum Erkennen von Objekten in digitalisierten Abbildungen
DE3806223C2 (de) Verfahren zur Erzeugung von Zeichenmustern
DE3722444C2 (de) Verfahren und Vorrichtung zum Erzeugen von Entwurfsmusterdaten
DE69728127T2 (de) Vorrichtung und Verfahren zur Extraktion eines Objekts in einem Bild
DE3923914C2 (de) Verfahren zum Extrahieren von Merkmalsgrößen eines Zeichens
DE4142650B4 (de) Verfahren und Anordnung zur Ableitung eines Steuersignals für die Einblendung eines Hintergrundsignals in Teile eines Vordergrundsignals
DE3716787C2 (de)
DE19507780B4 (de) Vorrichtung zur verteilten Bildverarbeitung
EP1238364B1 (de) Verfahren zur verarbeitung von datenstrukturen
DE10043460C2 (de) Auffinden von Körperpartien durch Auswerten von Kantenrichtungsinformation
EP1770635B1 (de) Iteratives Verfahren zur Interpolation von Bildinformationswerten
DE4005492A1 (de) Bildcodierverfahren
DE3342947A1 (de) Verfahren zur behandlung der daten eines binaeren grafischen musters und system dafuer
DE102006023093A1 (de) Verfahren und Vorrichtung zur Korrektur eines Bildes
DE3815869C2 (de)
DE102007040070A1 (de) Bilddichteumwandlungsverfahren, Bildverbesserungsverarbeitungseinrichtung und dafür geeignetes Programm
DE19531392C1 (de) Verfahren zur Erzeugung einer Graphrepräsentation von Bildvorlagen
DE10141055B4 (de) Verfahren zur Bestimmung von Bewegungsinformationen
DE3811396C2 (de)
DE10017551C2 (de) Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens
EP0858051A2 (de) Verfahren zum Segmentieren eines digitalen Bildes
DE4105089A1 (de) Stickereidatenverarbeitungseinrichtung
DE4340599C2 (de) Gerät und Verfahren zur Konturerzeugung
DE3238300A1 (de) Verfahren und vorrichtung zur muster- oder zeichenerkennung
EP3518180B1 (de) Verfahren zur erstellung einer bildstapel-datenstruktur

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 15/70

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee