DE2239765C2 - Anordnungen zum Bestimmen des Randes eines Zeichens - Google Patents

Anordnungen zum Bestimmen des Randes eines Zeichens

Info

Publication number
DE2239765C2
DE2239765C2 DE2239765A DE2239765A DE2239765C2 DE 2239765 C2 DE2239765 C2 DE 2239765C2 DE 2239765 A DE2239765 A DE 2239765A DE 2239765 A DE2239765 A DE 2239765A DE 2239765 C2 DE2239765 C2 DE 2239765C2
Authority
DE
Germany
Prior art keywords
edge direction
operator
edge
positions
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2239765A
Other languages
English (en)
Other versions
DE2239765A1 (de
Inventor
Peter South Nutfield Horley Surrey Saraga
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2239765A1 publication Critical patent/DE2239765A1/de
Application granted granted Critical
Publication of DE2239765C2 publication Critical patent/DE2239765C2/de
Expired legal-status Critical Current

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08GMACROMOLECULAR COMPOUNDS OBTAINED OTHERWISE THAN BY REACTIONS ONLY INVOLVING UNSATURATED CARBON-TO-CARBON BONDS
    • C08G18/00Polymeric products of isocyanates or isothiocyanates
    • C08G18/06Polymeric products of isocyanates or isothiocyanates with compounds having active hydrogen
    • C08G18/28Polymeric products of isocyanates or isothiocyanates with compounds having active hydrogen characterised by the compounds used containing active hydrogen
    • C08G18/30Low-molecular-weight compounds
    • C08G18/38Low-molecular-weight compounds having heteroatoms other than oxygen
    • C08G18/3878Low-molecular-weight compounds having heteroatoms other than oxygen having phosphorus
    • C08G18/3882Low-molecular-weight compounds having heteroatoms other than oxygen having phosphorus having phosphorus bound to oxygen only
    • C08G18/3887Phosphite compounds
    • 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
    • G06V30/1823Extraction of features or characteristics of the image by coding the contour of the pattern using vector-coding
    • 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)
  • Chemical & Material Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Medicinal Chemistry (AREA)
  • Polymers & Plastics (AREA)
  • Organic Chemistry (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)
  • Image Processing (AREA)

Description

Die Erfindung betrifft Anordnungen gemäß dem Oberbegriff eines der Patentansprüche 1 bis 4.
tine derartige Anordnung ist beispielsweise bekannt aus der Zeitschrift »Electronics Letters«, Band 7, Nr. 14 (15. Juli 1971), Seiten 385 bis 387. Durch eine geeignete Wahl der Verteilung der Werte in der Operatorfigur für ,die einzelnen Randrichtungssignale soll erreicht werden, daß auch bei nicht glatten Rändern von Zeichen
schließlich eine zusammenhängende Folge von Randrichtungssignalen erhalten wird, die dem Rand des Zeichens folgt.
Die Ausbildung der einzelnen Randrichtungsbestimmer ist darin nicht näher angegeben. Diese bestehen jedoch im wesentlichen aus logischen Verknüpfungsschaltungen, wie beispielsweise angegeben in der US-PS 3 196 398, wo es sich zwar nicht um die Bestimmung eines Randes eines Zeichens, sondern um die Bildung eines Skeletts eines Zeichens handelt, was in diesem Zusammenhang jedoch keinen grundsätzlichen Unterschied darstellt Der genauere Aufbau der Randrichtungsbestimmer ist daher für die vorliegende Erfindung nicht von Bedeutung und wird daher im folgenden auch als bekannt vorausgesetzt.
Bei der bekannten Anordnung zur Bestimmung des Randes eines Zeichens wird der Rand eines schwarzen Teils in einer weißen FKiche durch die äußeren Punkte im schwarzen Teil definiert. Dies bedeutet, daß an solchen Stellen, an denen das Zeichen nur eine Zeichenposition dick ist, keine eindeutige Codierung möglich ist, weil die beiden Ränder eines Linienelements zusammenfallen. Auf diese Weise können Ränder eines Zeichens verloren gehen.
Aufgabe der Erfindung ist es, Anordnungen der eingangs genannten Art anzugeben, die eine eindeutige und zusammenhängende Kette von Randsignalen bzw. Randrichtungssignalen erzeugt, bei der auch bei Zeichen bzw. Zeichenteilen, deren Dicke nur eine Zeichenposition beträgt, zwei getrennte Randinformationen erzeugt werden.
Diese Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil eines der Ansprüche 1 bis 4 gegebenen Merkmale gelöst. Eines der gemeinsamen Merkmale dieser vier Lösungen besteht darin, daß ein Randrichtungssignal nicht für eine bestimmte Position des Musters, sondern für einen Punkt zwischen derartigen Positionen gebildet wird. Dadurch werden auch bei Zeichenteilen mit einei Dicke von nur einer Position zwei getrennt verlaufende Randlinien entsprechend zwei Folgen von Randrichtungssignalen erzeugt.
Bei der im Patentanspruch 1 angegebenen Lösung wird nur eine einfache Operatorfigur verwendet, die also nur einfache Randrichtungsbestimmer und bei der, ausgehend von einem gespeichert vorliegenden vollständigen Muster des Zeichens, eine einfache Adressierung zur Auswahl der Positionen der nacheinander über das ganze Muster verschobenen Operatorfiguren erforderlich ist.
Eine Lösung, bei der jedes Randrichtun.gssigna! stets genau auf den Punkt weist, für den ebenfalls ein Randrichtungssignal ermittelt wird, ist im Patentanspruch 2 angegeben. Dadurch kann leicht ein automatisches direktes Verfolgen des Randes eines Zeichens erzielt werden, wobei für die Randrichtungsbestimmer und für die Adressierung der Positionen der aufeinanderfolgenden Operatorfiguren ein etwas größerer Aufwand erforderlich ist. Im übrigen ist bei dieser Lösung die zentrale Position der jeweils für einen Randbestimmer verwendeten Positionen eine Umgebungsposition, im Gegensatz zum Stand der Technik, wo die zentrale Position irn.Tier eine Zeichenposition ist.
Eine weitere Lösung, bei der dem Rand eines Zeichens noch genauer gefolgt wird und bei dem auch isolierte Randpunkte berücksichtigt werden, ist durch die Merkmale des Patentanspruchs 3 angegeben. Dabei sind jedoch die Randrichtungsbestimmer noch etwas aufwendiger aufgebaut.
Bei den ersten drei Lösungen wurde von einem orthogonalen Muster von Zeichenpositionen ausgegangen. Es ist jedoch auch möglich, ein Zeichen beispielsweise in einem hexagonalen Muster abzuspeichern. Eine hierfür geeignete Anordnung zum Bestimmen des Randes eines Zeichens ist in dem Anspruch 4 angegeben.
Bei allen vier Lösungen wird der Rand eines Zeichens im Uhrzeigersinn durchlaufen. Es ist jedoch auch möglich, den Rand in entgegengesetzter Richtung zu durchlaufen. In diesem Falle ist es zweckmäßig, daß die Randrichtungssignale in die entgegengesetzte Richtung weisen.
Für die Bestimmung aller Randrichtungssignale für ein Zeichen kann die Operatorfigur nacheinander über das gesamte Muster des Zeichens verschoben werden. Eine wesentlich schnellere Möglichkeit besteht insbesondere bei den Lösungen nach den Patentansprüchen 2 bis 4 darin, daß nach dem Erzeugen eines Randrichtungssignals das nächste Randrichtungssignal aus einer folgenden Operatorfigur in gleicher Weise erzeugt wird, die in Richtung des erzeugten Randrichtungssignals gegenüber der vorhergehenden Operatorfigur in dem zweidimensionalen Muster verschoben ist. Auf diese Weise wird dem Rand des Zeichens automatisch gefolgt.
Die Erfindung wird anhand einiger in den Zeichnungen dargestellter Ausführungsbeispiele näher erläutert. Es zeigt
Fig. 1 ein Beispiel eines binär digitalisierten Zeichens,
Fig. 2 das Anbringen des Rands zwischen Umgebungs- und Zeichenpositionen,
Fig. 3 einen Satz von acht Operatoren, die jeweils die Informationen einer Kombination von vier Positionen prüfen,
Fig. 4 das Ergebnis am Zeichen nach Fig. 1,
Fig. 5 eine kreuzförmige Operatorfigur von 12 Positionen, in der zwölf Kombinationen von Positionsinformationen als Operatoren wirksam sind, Fig. 6 das Ergebnis am Zeichen von Fig. 1, Fig. 7 einen Teil einer Speichermatrix,
F i g. 8 eine Darstellung der Mittel zum Erzeugen von Adressen für die Matrix nach Fig. 7; die 16 Ausgänge der Speicherelemente A ... P sind lediglich schematisch angedeutet und gehören gemeinsam den 16 Wählern an,
F i g. 9 einen Teil einer Speichermatrix als Alternative für die Anordnung nach Fig. 7.
Fig. 10 die Bitadressen des Speicherelements /"von F i g. 8 (vollständige Matrix wie für einen 4X4 Operator erforderlich).
Fig. 11 ein Auslesesystem für die Speichermatrix nach Fig. 9. In dieser Bauart haben die vier Addierer einer Reihe gemeinsam fünf horizontale Adressenleitungen. Ferner haben die vier Addierer und vier Speicherelemente in einer Spalte gemeinsam zwei vertikale Adressenleitungen. Die vier Speicherelemente in einer Spalte haben gemeinsam eine vertikale Adressenleitung. Die Ausgänge jedes Addierers sind als Eingänge für das zugehörige Speicherelement wirksam. Die sechzehn Ausgänge der Speicherelemente zu den l-aus-16-Wählern gehören allen sechzehn Wählern gemeinsam,
Fig. 12 die für das Speicherelement P nach Fig. 11 erforderlichen Bitadressen (16 x 1 Einlesen/Auslesen),
Fig. 13 eine Darstellung des Einlesevorgangs für die Halbzelle £00-f00 usw. aus Fig. 9 (vier Speicherelemente haben gemeinsam sechs Adressenleitungen), Fig. 14 ein 64-Bit-Register für einen anderen Aufbau eines 4 x 4 Operators und einer 16 x 1 Halbzeilen-Eingabe,
Fig. 15 eine Halbzeilen-Eingabe zur Matrix, die mit der Schaltung nach Fig. 7 und 14 verbunden ist (alle vertikalen Leitungen sind Datenleitungen und jede Vi°- rergruppe gehört gemeinsam zu vier Speicherelementen),
Fig. 16 das Folgen des Rands nach beliebig angeordneten Punkten,
ίο Fig. 17 Operatoren in einem hexagonalen Muster, Fig. 18 die Position des Rands in einem hexagonalen Muster (schraffierte Dreiecke sind Randdreiecke),
Fig. 19 Bildung von hexagonalen Operatoren,
Fig. 20 ein hexagonales Muster mit Kodierung des Rands,
Fig. 21 Anwendung von Prioritätsregeln in einem rechteckigen Muster,
Fig. 22 Zusammensetzung der rechteckigen Operatoren nach Fig. 5,
Fig. 23 rechteckige Operatoren Il (ab) = α oder b,
Fig. 24 Resultat der Anwendung der Operatoren nach Fig. 23.
Fig. 1 zeigt ein Beispiel eines binär digitalisierten Zeichens. Die Umgebungspositionen sind weggelassen.
Die Unterseite des Zeichens hat die Dicke einer Zeichenposition. Das bekannte Verfahren könnte dort also zwei zusammenfallende Ränder ergeben. Durch die vorliegende Erfindung wird der Rand so definiert, daß er tatsächlich zwischen den äußeren schwarzen Punkten (Zeichenpositionen) und den daran angrenzenden weißen Punkten (Umgebungspositionen) liegt. F i g. 2 zeigt eine Anwendung dieses Prinzips an einer viereckigen (rechteckigen) Zeichenmatrix. Die Randlinie ist aus a) Kreuzchen auf den Mittelpunkten von angrenzenden Zellengebieten der Zeichenmatrix und b) Elementarvektoren aufgebaut, die die genannten Zentren verbinden. In der Figur sind »schwarze« Punkte durch Punktzeichen angegeben, die »weißen« Punkte werden einfach als an allen anderen Schnittpunkten der Matrixlinien vorhanden vorausgesetzt. Streng genommen geht diese Randlinie eher durch einige der rtächstliegenden weißen Punkte als in allen Fällen zwischen schwarzen und weißen Punkten hindurch, auf diese Weise wird jedoch anscheinend eine glatter verlaufende Linie
is erzielt. Eine genauere Definition dieser Randlinie ist, daß sie die Mitten aller Matrixzellen verbindet, die entweder einen schwarzen Punkt oder aber zwei nebeneinander liegende (d. h. nicht diagonal gegenübereinander angeordnete) schwarze Punkte enthält.
so Dies kann als echte Grenze zwischen schwarzen und weißen Gebieten betrachtet werden, und die Randlinie dieses Typs wird durch den Satz von acht aus je vier Punkten bestehenden Operatoren erzeugt, die in Fig. 3 dargestellt sind, wobei jeder Operator einem eigenen Randrichtungsbestimmer und den diesem zuzuführenden Weiten zugeordnet ist, bei denen letzterer ein Randrichtungssignal erzeugt. Ein Operator gibt nur dann eine Information ab wenn alle Punkte, die im Operator als schwarz und weiß angegeben sind, tatsächlich mit schwarzen bzw. weißen Elementen im Muster zusammenfallen. Ergebnis ist ein kodierter Rand in einer neuen Matrix mit derselben Periode wie die ursprüngliche Matrix, deren Punkte zwischen den Punkten der ursprünglichen Matrix liegen oder auf den Rändern von deren Zellen. Die neue Matrix kann man mit der ursprünglichen Matrix dadurch verbinden, daß sie diagonal über eine halbe Matrixperiode verschoben wird, wodurch ein Rand erzielt wird, der in bezug auf
das ursprüngliche Muster etwas verschoben ist. Fig. 4 zeigt das Ergebnis der Verwendung dieser Operatoren bei dem in Fig. 1 dargestellten Zeichen. Obwohl dieser Operatorsatz wirtschaftlich ist, weil nur vier Matrixpunklc darin verarbeitet werden, erzeugt er eine Randkodierung, in der nicht jeder Elementarvektor stets korrekt zum folgenden Randpunkt hinweist. Derartige Fehler sind in Fig. 4 umkreist.
Ein anderer Operatorsatz, der einen Rand erzeugt, der zwischen schwarz und weiß liegt, jedoch mit korrekter Randkodierung, ist in Fig. 5 dargestellt. Die Operatorfigur hat die Form eines Kreuzes, das zwölf Matrixpunkte umfaßt, wobei jedoch stets vier oder fünf Matrixpunkte verwendet werden, während die übrigen durch den betreffenden Operator negiert werden, gleichgültig, ob sie schwarz oder weiß sind. Man sieht, daß die als 1,3,5 und 7 kodierten Vektorrichtungen nur einem Operator entsprechen, während die als 2,4,6 und 8 kodierten Richtungen stets durch einen von zwei Operatoren hervorgebracht werden können.
Ergebnis der Verwendung dieses Operatorsatzes nach Fig. 1 ist in Fig. 6 dargestellt. Man kann formell beweisen, daß dieser zweite Operatorsatz die folgenden Eigenschaften hat:
1. In irgendeinem Punkt eines Musters kann niemals mehr als ein Operator auf das Muster angewendet werden.
2. Der Vektor, der mit einem Randpunkt zusammenhängt, weist stets auf einen folgenden Randpunkt hin.
3. Aus den Punkten 1 und 2 geht hervor, daß alle Randpunkte zu einfachen Schleifen ohne Abzweigungen oder Verbindungen gehören. Es geht ebenfalls daraus hervor, daß keine einzige Schleife eine andere Schleife schneidet.
Eine entsprechende Operatorfigur für eine hexagonale Matrix wird im weiteren erörtert. Die Operatoren nach Fig. 5 können dazu verwendet werden, ein bekanntes Verfahren zum Erkennen von Zeichen zu verbessern, wobei das Folgen des Randes benutzt wird, und das von T. Saraga, A. Weaver und D. Woollons in »Philips Technical Review«, 28 (1967) S. 197-203 beschrieben ist.
Im weiteren wird eine Schaltung beschrieben, die sich für die zwölf Operatoren nach Fig. 5 eignet. Das Verfahren ist dann sequentiell, da die Operatoren in einem bestimmten Zeitpunkt nur an einer Stelle im Bild wirksam sind, während ein Vergleich der entsprechend der Operatorfigur beisammenliegenden Positionen parallel erfolgt, weil alle Informationen gleichzeitig verfügbar sind. Die Verarbeitung erfolgt mit allgemein bekannten logischen Bauelementen.
Man kann andererseits jede Operatorinformation mit den verschiedenen Positionsinformationen sequentiell konfrontieren. Siehe u. a. die britische Patentschrift 1157.991.
Der Satz von zwölf Randkodierungsoperatoren macht erforderlich, daß an jeder Stelle einer gespeicherten Figur die Informationen von zwölf angrenzenden Punkten parallel zur Verfugung stehen. Die zwölf Punkte passen in ein Viereck von 4X4 Punkten, und im dort beschnebenen System kann die Stelle eines solchen Vierecks von 4X4 Punkten durch eine passende Verschiebung des im System verwendeten Adressenzählers in einer der acht Richtungen verschoben werden. In den Beispielen werden die Randkodierungsoperatoren gemeinsam mit üblichen kombinatorischen Logikschaltungen verwirklicht, deren Eingänge mit den entsprechenden Punkten in dem 4X4 Viereck verbunden sind. Das Ergebnis der Operatoren bei einem Randpunkt ist ■) das Wählen einer eindeutigen Richtung. Dadurch, daß die Stelle des Operatorsatzes in dieser Richtung verschoben wird, findet man den nächsten Randpunkt, und durch Fortsetzung dieses Vorgangs wandert die Stelle der Operatoren stets weiter am Rand entlang, weil alle
ίο Ränder unverzweigte, geschlossene Schleifen bilden. Im allgemeinen genügt es, nur einmal um den Rand herumzugehen. Der Endpunkt kann dadurch gefunden werden, daß die Adresse des Anfangspunkts gespeichert und mit der Momentanadresse verglichen wird.
Sind die Adressen gleich, so ist der Rundgang beendet. Man kann auch mehrere Rundgänge anwenden. Ferner kann man ebenfalls die Abtastung entsprechend einem vorherbestimmten regelmäßigen Muster erfolgen lassen.
In den Beispielen sind die Zeichen je nach der Schwärzung digitalisiert und weiterhin durch ein Muster von Positionen ersetzt. Dadurch ist nun der kleinste Schritt die Periode jenes Musters geworden.
Angenommen, das zu bearbeitende binäre Muster ist in einer zweidimensionalen Matrix von etwa 32 X 32 Bitstellen gespeichert. Diese kann aus 16 Speicherelementen von jeweils 64 Bits aufgebaut sein. Dieser Typ des schnellen Speicherelements ist im Handel erhältlich, beispielsweise als 16X4 TTL Einheiten vom Typ TEXAS SN 7489. Es ist möglich, die Speicherelemente so anzuordnen, daß jede Gruppe von 4X4 Punkten in der Matrix gleichzeitig zugänglich ist. F i g. 7 zeigt einen Teil einer solchen Anordnung von Speicherelementen. Jeder Punkt des Musters hat eine Adresse, die folgendes erhält:
a) die Adresse des Speicherelements, in der die Information des Punkts gespeichert ist, was durch einen Buchstaben A bis P wiedergegeben ist, der einen der 16 Speicherelemente darstellt, und
b) eine Zahl, die die Adresse des erforderlichen Bits in jenem Speicherelement darstellt, d. h. die Bitadresse. Die Bitadresse ist eine Zahl von zwei achtgliedrigen Ziffern. Die erste Ziffer ist die Y-Adresse und die zweite Ziffer die ^-Adresse. Die Ziffern gehen von 0 bis 7 sowohl in der X- als in der Y-Richtung, etwa von A 00 bis A 07 in der ersten Spalte und von A 00 bis A 70 in der ersten Reihe. Dann sind 64 Bits in jedem Speicherelement
so gespeichert. In F i g. 7 enthält jedes Viereck von 16 Punkten jede Speicherelemeniadrssss nur einmal, so daß dann, wenn die 4 X 4 Figur in einer beliebigen Stelle in der Matrix eingesetzt wird, nur die richtigen Speicherelementadressen und Bitadressen der Punkte der Operatorfigur gebildet werden müssen.
Fig. 8 zeigt, wie die Adressen erzeugt werden mit für jede Achse 4 Fünfbit-Vorwärts- und Rückwärtszählern (XCOVi... 4, YCOVX ... 4). Der Zweck davon wird später erläutert Diese Zähler zählen vor- oder rückwärts, je nach der erforderlichen Schieberichtung der Stelle, an der die Operatorfigur angebracht ist, unter Steuerung einer nicht näher dargestellten Schaltung.
Die Koordinaten der genannten Stelle können der Stellung eines der vier 7-Zähler (hier etwa des unteren) und eines der vier Z-Zähler (hier etwa des ganz rechts dargestellten) entsprechen. Beim Verschieben der Operator-
figur entstehen 16 mögliche Situationen von Speicherelementadressen innerhalb des 4x4 Arbeitsbereichs, und die vorliegende Situation wird durch die beiden am wenigstens bedeutsamen Bits der X- und /-Koordinaten spezifiziert. Diese 4 Bits (2 x Kli STAD werden dazu verwendet, die Ausgänge der Speicherelemente mittels der l-aus-16-WählerSELl ... 16 mit den richtigen Punkten zu verbinden.
Die drei bedeutendsten Bits (XBlTAD, YBlTAD) der X- und /-Zähler geben die Bitadressen der Speicherelemente. Im Fall des Speicherelements Psind dies dieselben X- und /-Koordinaten wie bereits definiert. Die sechs Bits genügen zur Definition, welches von den 64 Bits im Speicherelement /"gefragt wird. Wenn die Koordinaten eines Punkts X und Y sind, so wird angenommen, daß die gefragte Adresse X'p, Y'p ist. Für das Speicherelement Pgilt dann: X'p = XIA), eine Teilung ohne Rest, was bedeutet, daß die drei höchstwertigen Bits von X X'p sind, und Y'p = YIA. Für die anderen Speicherelemente gilt dieses einfache Verhältnis jedoch nicht.
Beispiel: X1 = (X+ I)IA und Yj =
l)/4.
Die Notwendigkeit, zu den Koordinaten Zahlen addieren zu müssen, kann man dadurch vermeiden, daß die vier Zähler wie dargestellt so verwendet werden, daß der Inhalt für jeden Zähler in bezug auf den vorigen um eins verschoben ist. So enthalten sie gemeinsam: X, X+\,X+2, X+3, Y, /+ 1, /+2, /+3. Die ersten drei Bits davon können direkt zur Spezifikation der Bitadressen in den Speicherelementen verwendet werden. Ferner sind die 16 Ausgänge des 16 X 4 Bit Registers Λ ... P mit den 16 l-aus-16-Wählern SEL 1 ... 16 verbunden, mit denen wiederum die logische Schaltung LOG verbunden ist: in dieser letzteren sind die Operatoren verwirklicht.
Eine zweite Bauart der Speicherelemente ist in F i g. 9 dargestellt. Diese entspricht der Forderung, daß in jedem Block von 4X4 Punkten jedes Speicherelement nur einmal verwendet wird, hier gilt jedoch derselbe Fall auch für einen horizontalen Streifen von 16 x 1. In einem praktischen System kann dies nützlich sein, weil dann eine Halbzeileninformation (16 Bits) in einer Operation in die Speicherelemente eingegeben werden kann, so daß die zum Einlesen der Information erforderliche Zeit auf ein Mindestmaß gebracht wird. Bei Zeichenerkennungssystemen wird die Information normalerweise nacheinander für eine Reihe von Punkten von aufeinanderfolgenden Zeilen (Linien) einer Figur verfügbar.
Für diesen Aufbau der Speicherelemente wird das Problem der Adressenbildung von Bits bzw. Speicherelementen komplizierter, da die Adressen von links nach rechts höher werden. Ausgedrückt durch Adressen der Speicherelemente wird ein Block von 4X4 Punkten an der Stelle von (x, y) bei (x, y + 4), (x, y + 8) usw. in Abwärtsrichtung wiederholt, ebenso wie vorher, jedoch in horizontaler Richtung bei (x + A, y - I), (x+ 8, y + 2) usw. Wenn X' = XIA (wie oben) und Y' = YIA ist, so werden die Adressen der Speicherelemente, die den l-aus-16-Wählem zugeführt werden wie vorher durch χ = y (modulo-4) gegeben, im weiteren jedoch, wenn y = (Y+ X1) ist (modulo-4). Dies ist dasselbe wie
{Y + X' (modulo-4)} (modulo-4).
Dies bedeutet, daß sich für alle vier Schritte nach rechts die /-Adresse wie erforderlich um 1 ändert. Praktisch formuliert (siehe Fig. 8), statt daß die /-Adresse in den l-aus-16-Wählem direkt benutzt wird, muß sie nun in einem Zweibit-Addierer zu den 2. und 3. bedeu-
r> tendsten Bits der X-Adresse addiert werden. Das Ergebnis des Addierers wird mit den beiden am wenigsten bedeutenden Bits der ^-Adresse als die erforderliche Vierbit-Eingangsinformation für die l-aus-16-Wähler verwendet.
ίο F i g. 10 zeigt die Bitadressen, die tür das Speicherelement P erforderlich sind. Jedes numerierte Kästchen umfaßt eine Oberfläche von 4X4 Punkten mit derselben /"-Adresse. In diesem Fall ist -X'p = XpIA wie vorher, jedoch
Y'P = {YP + X'„ (modulo-4)|/4.
Das Glied Λ" (modulo-4) bedeutet, daß die Zykluslänge beim Ändern von /' um X'p nicht 32, sondern 16
2<) ist, so daß die 5. Spalte in Fig. 10 dieselbe Adresse hat wie die erste Spalte. In Schaltelementen ausgedrückt müssen die zweiten und dritten bedeutendsten Bits von Xp zu Yp addiert und die drei höchstwertigen Bits des Ergebnisses dazu verwendet werden, die /' Bit-Adresse
2) im Speicherelement P zu spezifizieren. Die weiteren Zähler für die anderen Speicherelemente werden ebenso wie vorher dazu benutzt, für die anderen Speicherelemente die Adressen zu erzeugen, außer daß ein Addierer zugeordnet ist, um jede /' Bit-Adresse zu
jo erzeugen. Die X' Bit-Adressen werden mit derselben Schaltung wie vorher erzeugt. Das gesamte System ist in Fig. 11 dargestellt.
Die Anordnung enthält u. a. die Addierer (16) ADD. in denen die Informationen der A"-Adressenzähler
r> X.ADDCOU und der /-Adressenzähler Y.ADDCOU addierbar sind, sechzehn l-aus-16-Wähler5£L 1... 16, deren Ausgänge (4X4 OUT) wiederum mit einer logischen Schaltung LOG verbunden sind, und deren Eingänge wie dargestellt wiederum die sechzehn von den Speicherelementen A ... P herrührenden Leitungen und die Speicheradressen stad empfangen.
Bei der Eingabe (oder Ausgabe) einer 16X1 Halbzeileninformation wird die Erzeugung der Adresse vereinfacht, weil üblicherweise nur eine rechte oder linke
4) Halbzeile erforderlich ist. In Fig. 9 sind beispielsweise nur vier verschiedene Bauarten von Speicherelementadressen in einer Halbzeile möglich. Gleichfalls sind nur 64 Positionen der Halbzeile in der Matrix erforderlich. Diese Positionen könnten wie folgt angeordnet werden: obere links, obere rechts, zweite links, zweite rechts, dritte links, usw. in Abwärtsrichtung entlang der Matrix. Zum Einlesen von Information kann jedes Speicherelement in der Matrix lediglich vier Punkte von den sechzehn Eingabepunkten sehen, so daß jedes Speicherelement nur einen l-aus-4-Wähler braucht: alle Wähler können durch 2 Bits gesteuert werden. Dies könnten die vierten und fünften Bits des 6-Bit-Zählers sein, der zum Zählen der 64 Positionen der Halbzeile erforderlich ist Das letzte Bit gibt an, ob die Halbzeile sich an der rechten oder an der linken Seite befindet, und in beiden Fällen ist der Aufbau der Speicherelementadresse derselbe. Die Bitadressen des Speicherelementes Psind entsprechend Fig. 12 angeordnet. Wenn die Bits des 6-Bit-Adressenzählers u, v, w^^und ζ sind,
b5 so sind die notwendigen X'p und X'p z, x, y bzw. u, v, w. Die Speicherelemente M1 Nund O haben immer dieselben Bitadressen wie das Speicherelement P. Es sind vier Gruppen von vier Speicherelementen mit derselben
Bitadresse vorhanden. Wie vorher sind die Adressen stets versetzt, so daß ein einfacher Aufbau mit einem Zähler für jede Gruppe von vier Speicherelementen ausgeführt ist. Das System ist in Fig. 13 dargestellt. Wenn die l-aus-4-Wähler5£L 41 ... 44 umgekehrt verwendet werden, während der übrige Teil der Schaltung derselbe bleibt, so kann die Information von aufeinanderfolgenden Halbzeilen ausgelesen werden. Die drei Paare von mit S angegebenen Leitungen führen zu den drei weiteren Gruppen von l-aus-4-Wählern (nicht dargestellt), die mit der links in Fig. 13 dargestellten Gruppe identisch sind und die mit anderen 12 Punkten als den Punkten 3, 5, 9,13 (wie angegeben) des 16-Bits-Eingangsregisters verbunden sind. Mit A, E, I, M sind die Leitungen angegeben, mit denen die Wähler SEL 41... 44 mit den gleichnamigen Speicherelementen verbunden sind. Durch einen Kreis ist jeweils angegeben, daß das invertierte Signal von der vierten und fünften Ausgangsleitung der 6-Bit-Zähler COV 61... 64 benutzt wird.
Es ist möglich, einen anderen Aufbau für die 4 x 4 Operatorausgangsinformation und die 16 x 1 Halbzeileneingangsinformation zu verwenden. Das Speicherelement kann dem nach Fig. 7 entsprechen, jedoch mit Verwendung von 64-Bit-Speicherelementen, die als 16 Wörter von jeweils 4 Bits aufgebaut sind. So wird jedes 64 X 1 Bit-Speicherelement aus Fig. 7durcheinl6 X4 Bit-Speicherelement, kombiniert mit einem l-aus-4-Wähler entsprechend Fig. 14, ersetzt. Das Speicherelement MEMEL hat 4 parallel verlaufende Eingabe- und vier Ausgabeleitungen, während X' und Y' Adressenleitungen sind. Der l-aus-4-Wähler SEL 40 liefert ein einziges Bit Ausgangsinformation. Die Halbzeileneingabe zur Matrix ist in Fig. 15 dargestellt. Indem 16-Bit-Halbzeileneingangsspeicherelement 16 Bit IGF sind die Positionen der darin befindlichen Bits durch Numerierung angegeben. Durch Erhöhung der drei Y'· Bits und des bedeutendsten A"-Bits kann das Speicherelement halbzeilenweise weitergeschaltet werden. Für die Wahl der Reihe von Speicherelementen (A, B, C, D bzw. £, F, G, //usw.), in die eingeschrieben wird, ist ein l-aus-4-Wähler notwendig, der durch das am wenigsten bedeutende Γ-Bit und r"as bedeutendste X'-Bit gesteuert wird. So ist lediglich ein Zähler erforderlich, da alle Speicherelemente die gleiche Adresse haben.
Der beschriebene Aufbau beschränkt sich nicht auf die Verwendung beim Folgen von Rändern. Er galt für eine 4X4 Figur und ein 32 X 32 Bits Bild; die Zahlen können jedoch auch anders sein. Im beschriebenen System wurden nur Sprünge zu benachbarten Positionen gestattet. Ein flexibleres System verwendet Register und Addierer, um beliebigen Zugriff zu erhalten. Die Anzahl Bits je Punkt kann erhöht werden, und es kann zugelassen werden, bei der Position des Operators sowohl zu schreiben als auch zu lesen. Auf die Art und Weise können Muster mit grauen Gradationen vorbearbeitet werden. Es ist ebenfalls möglich, mit mehreren Operatoren gleichzeitig in verschiedenen Positionen inn Bild zu arbeiten, unter der Bedingung, daß sie nicht gleichzeitig Zugriff zum selben Speicherelement anfragen. Neue Information kann zyklisch in die Matrix eingelesen werden, etwa je Halbzeile, und zwar während der Vorbearbeitung der Information und unter der Bedingung, daß der Operator von der Grenze zwischen alter und neuer Information entfernt bleibt. Es kann mehr als ein Operator mit einer einzelnen Gruppe von Speicherelementausgängen verbunden sein. Die Operatoren brauchen ebenfalls nicht alle die gleiche Form zu haben.
Es ist nützlich, an dieser Stelle näher auf Systeme einzugehen, die Ränder bestimmen. Die beschriebene Maschine kann fünf Arbeitsmodi aufweisen.
1. Einlesen der Information des Bilds in die Speicherelemente,
2. Suche nach einer oder mehreren äußeren Schleifen,
ίο 3. Folgen der gefundenen äußeren Schleife bzw. der gefundenen Schleifen,
4. Suche nach der inneren Schleife bzw. den inneren Schleifen,
5. Folgen der gefundenen inneren Schleifen bzw. der is Schleifen.
Es ist empfehlenswert, den unter 1. genannten Modus durch gleichzeitiges Einschreiben einer halben oder einer ganzen Zeile auszuführen. Dies wird vorstehend beschrieben. Dazu wird das Suchen und Folgen von Rändern ein nahezu kontinuierlich verlaufender Vorgang, der nur durch Einschreiben einer neuen ganzen oder halben Zeile kurz unterbrochen wird. Dies ist günstig, weil das System leicht mit einer Kamera kombiniert werden kann, die entsprechend der »Festkörper« (solid state)-Technik aufgebaut ist. Da das Abtasten auf mechanischem Wege erfolgt, kann man dabei nicht entsprechend beliebigen Mustern abtasten, wie bei einem Lichtpunktabtaster. Bei schnellen Systemen müssen daher die Einlese- und Vorbenrbeitungsvorgänge gleichzeitig stattfinden, es sei denn, es ist bekannt, daß die Zeichen gut voneinander getrennt sind.
Der Unterschied zwischen Suchen und Folgen von inneren und äußeren Schleifen ist nicht notwendig, weil die vollständige Liste von Sprungrichtungen nach einer Runde des Rands diese Information enthält. Die Information wird durch die Summe der Richuingsänderungen entlang einem vollständigen Rand gegeben. Diese ist nicht dieselbe wie die Summe der Unterschiede zwischen aufeinanderfolgenden Sprungrichtungen. Die Summe gibt einen Kreisgang an, aus dem man die Bedeutung dieses Randes herleiten kann.
Die Art und Weise, in der die Information verwendet wird, hängt von der Art der Bearbeitungen nach dem Folgen des Rands ab. Dem Rand kann noch erneut gefolgt werden, wenn es notwendig ist, eine Liste von Sprungrichtungen aufzustellen, oder die erste Runde kann bereits eine solche Liste hervorgebracht haben,
so die etwa vernachlässigt wird, wenn es sich um einen Innenrand handelt.
Die Suche nach Rändern erfolgt dadurch, daß die Figur zeilenweise überprüft wird, um schwarze Punkte zu finden, wobei darüber entschieden wird, ob der »Folge«-Modus fortgesetzt wird, je nachdem ob es sich um einen Randpunkt, um einen Innen- bzw. einen Außenrand handelt und ob er bereits einmal als Randpunkt behandelt wurde. Letzteres ist dadurch möglich, daß beim Folgen die Information der gefolgten Randpunkte in einem gesonderten Register gespeichert wird. Dafür ist jedoch eine erweiterte Schaltung notwendig.
Diesen Nachteil kann man dadurch vermeiden, daß der Zugriff auf einen Rand auf eine kleine Anzahl von Punkten beschränkt wird, daß diese Punkte beim Abtasten und Einlesen festgestellt werden, daß die Koordinaten jener Punkte gespeichert werden und daß das Folgen des Rands bei diesen Punkten später gestartet wird. Wenn mehrere Punkte auf demselben Rand lieeen. so
können die Koordinaten der weiteren Punkte gelöscht werden, wenn sie beim Folgen eines Rands gefunden werden. Diese Technik ist nur dann praktisch, wenn durch das Speichern der zusätzlichen Startpunkte weniger Speicherraum als zum Speichern der markierten Randpunkte erforderlich ist.
Die Rand-Start-Punkte kann man wie folgt selektieren. Es werden zwei aufeinanderfolgende abgetastete Zeilen mit Punkten betrachtet Wenn eine aneinander angeschlossenen Reihe von schwarzen Punkten in der zweiten Zeile liegt, von denen keiner mit einem schwarzen Punkt auf der ersten Zeile verbunden ist, so bildet diese Reihe von schwarzen Punkten den Start eines neuen Rands, und das Ende der Reihe kann als Startpunkt betrachtet werden. Die Koordinaten des Rands müssen dann mit Rücksicht auf die bereits genannte kleine Verschiebung zwischen der Matrix der schwarzen und weißen Punkte und den möglichen Stellen der Randpunkte gespeichert werden. Das System kann in allen genannten Modi 1. bis einschließlich 5. gleichzeitig arbeiten. Ein letztes Problem ist die Verbindung von inneren Schleifen mit einer bestimmten äußeren Schleife. Dies kann man dadurch lösen, daß der Mindestgröße von inneren Schleifen eine Grenze gesetzt wird, und daß man nur eine äußere Schleife zuläßt, die groß genug ist, alle inneren Schleifen zu umfassen. Bei einem kontinuierlichen System wäre dies an sich noch nicht ausreichend, weil zwei Zeichen auf demselben Bild vorhanden sein können. Dies kann man jedoch dadurch lösen, daß jeder Schleife Information über den Bereich, in dem sie auftritt, zugeordnet wird, indem etwa die äußeren Koordinatenwerte bei einem Rundgang entlang einer bestimmten Schleife gespeichert werden, wodurch ein rechtwinkliger Bereich eingefaßt wird.
Der Deutlichkeit halber in bezug auf die Topologie werden noch einige Bemerkungen über ein Bild mit statistisch verteilten Punkten gemacht (random area). Deshalb wird eine Definition von »Nachbarn« gegeben, wodurch Oberflächen als Punktgruppen definiert werden können. Ein Bereich wird als ein Satz von Punkten derselben Farbe definiert (d. h. schwarz oder weiß), so daß jeweils zwei Punkte des Satzes durch einen Pfad verbunden werden können, wobei jeder Schritt auf dem Pfad eine Verbindung zwischen zwei zum Satz gehörenden Nachbarn ist. Die Definition von Nachbarn kann etwa wie folgt gebildet werden:
Ein Paar von Punkten ist benachbart, wenn kein anderes Paar von Punkten des Bilds vorhanden ist, für das gilt:
a) das zweite Paar von Punkten liegt näher beisammen als das erste,
b) die gerade Linie zwischen den Punkten des zweiten Paars schneidet die gerade Linie zwischen den Punkten des ersten Paars.
Wenn sich die Linien schneiden und gleich lang sind, so ist eine Absprache notwendig, die im weiteren für eine rechteckige Matrix gegeben wird. Mit der Definition von Nachbarn kann man zwischen allen Paaren von Nachbarn gerade Verbindungslinien ziehen. Dies verteilt den Raum zwischen den Punkten in Dreiecke, deren Scheitel jeweils durch Punkte des Satzes gebildet werden (Fig. 16b).
Es gibt nur drei Arten von Dreiecken mit den folgenden Scheitelpunkten:
a) drei schwarze Punkte,
b) drei weiße Punkte,
c) sowohl weiße als auch schwarze Punkte.
Der Fall c) zeigt ein Dreieck, das auf der Grenze zwisehen einem schwarzen und einem weißen Bereich liegt, und daß im weiteren Rand-Dreieck genannt wird (Fig. 16 d). Alle im weiteren noch gegebenen Operatoren folgen dem Rand um einen schwarzen Bereich herum im Uhrzeigersinn. Das umgekehrte ist ebenfalls
ίο möglich. Zwei der Seiten jedes Rand-Dreiecks verbinden einen schwarzen Punkt mit einem weißen. Vom Innenbersich des Dreiecks aus gesehen hat eine dieser beiden Seiten den schwarzen Punkt am linken Ende, der BW-Seite, die anderen Seiten haben den schwarzen Punkt am rechten Ende, der WB-Seite. Das Folgen des Rands findet dadurch statt, daß der betreffende Punkt durch eine Reihe solcher Dreiecke bewegt wird, wobei er stets an der BW-Seite eintritt und durch die WB-Seite wieder hinausgeht Wenn man definiert, daß die Randpunkte im Innenbereich jedes Rand-Dreiecks liegen, so findet man die Art des Randes, der in Fig. 16 e angegeben ist. Wenn man demgegenüber definiert, daß die Randpunkte an den Seiten der Rand-Dreiecke liegen müssen, so findvt man die Art des in Fig. 16f dargestellten Randes. Man kann formell beweisen, daß der so erhaltene Rand die bereits genannten drei Eigenschaften besitzt. Man kann bei jedem Rand-Dreieck eine Richtung definieren, nämlich die Richtung, in der der Rand das Dreieck verläßt. In einem unbegrenzten Feld von Punkten muß das durch die Ausgangsrichtung angewiesene Dreieck ebenfalls ein Rand-Dreieck sein, weil es eine Schwarz-Weiß-Seite mit dem ersten Rand-Dreieck gemeinsam hat. Weil die Reihenfolge der Rand-Dreiecke kein Ende hat, bildet der Rand eine geschlossene Schleife. Die Form des schwarzen Bereichs, der durch den Rand eingefaßt wird, hängt etwas von der Definition von Nachbarn und der Wahl der Verteilung in Dreiecke ab. Die Vorschriften zur Bestimmung des Randes beschränken sich nicht auf das dargestellte Beispiel.
Die gegebenen Regeln für ein Bild mit statistisch verteilten Punkten können bei einem hexagonalen Gitter leicht angewendet werden. Es gibt zwei Arten von Dreiecken A und B, wobei sich der Scheitel oben bzw. unten befindet (Fig. 18). Der Rand geht abwechselnd durch A- und 5-Dreiecke. Für jeweils zwei aufeinanderfolgende /4-Dreiecke ist nur ein fi-Dreieck möglich. Dadurch sind die ß-Dreiecke überflüssig, und es können Operatoren entwickelt werden, die den Rand
so direkt vom einen Λ-Dreieck zum nächsten richten.
Diese Operatoren kann man dadurch zusammensetzen, daß alle möglichen Randpfade von einem Λ-Dreieck aus zusammengefaßt werden.
Das Dreieck in Fig. 19a ist vom Typ A, so daß der Rand vom diesen Dreieck aus zu einem ß-Dreieck von Fig. 19 b gehen muß. Die Ausgangsrichtung aus dem B-Dreieck hängt vom Punkt α ab. Fig. 19 c und 19 d geben zwei Möglichkeiten. Der Rand hat nun das nächste A-Dreieck erreicht. Durch Vergleich von Fig. 19e und
bo 19f mit Fig. 17 sieht man, daß zwei der hexagonalen Operatoren zusammengesetzt sind. Die übrigen vier sind Rotationen dieser beiden, und sie entsprechen den Randpfaden zu den übrigen vier benachbarten A-Dreiecken. Fig. 20 zeigt ein Muster auf einem hexago-
b5 nalen Gitter und das Ergebnis des Kodierens des Rands mit Hilfe der in Fig. 17 gegebenen Operatoren.
Im Falle von rechteckigen Punktmustern sind die Punkte links, rechts, oberhalb und unterhalb eines
bestimmten Punkts Nachbarn. Für ein Grundviereck von vier Punkten kann jedoch nur ein Paar von einander diagonal gegenüberliegenden Punkten Nachbarn sein.
Der hier verwendete Begriff von Nachbarn hängt mit der bekannten Auffassung von verbundenen Punkten eng zusammen. Das Verbundensein in rechteckigen Mustern wird üblicherweise durch Regeln definiert, die u. a. die Farben der Punkte im Muster berücksichtigen. Man kann die Verbindung zwischen schwarzen Punkten vor einer diagonalen Verbindung zwischen weißen Punkten vorrangig behandeln. Dergleichen kann man auch hier ausführen. Es bestehen drei Möglichkeiten für ein solches diagonales Paax: schwarz/schwarz, weiß/ weiß und schwarz/weiß. In jedem Grundrechteck wird die Diagonale mit der höchsten Priorität weiterverbunden. Es bestehen nun noch die Möglichkeiten, bei denen die Diagonalen dieselbe Priorität haben: beide weiß/weiß und beide schwarz/schwarz. In diesem Fall ist jedoch nicht von einem Rand die Rede. Falls beide weiß/schwarz sind, wird der Verlauf des Randes nicht durch die Wahl der Diagonaien beeinflußt.
Fig. 21 zeigt die Prioritätsreihenfolge schwarz/ schwarz, schwarz/weiß, weiß/weiß. Die Randpunkte für die Operatoren von Fig. 5 liegen in den Zentren der Grundrechtecke, und die Operatoren richten den Rand eines solchen Randpunkts zum nächsten. In Fig. 21a, b, c geht der Rand durch das Zentrum des Grundrechtecks hindurch, weil eine schwarz/weiß Diagonalverbindung vorhanden ist. Fig. 21b und 21c zeigen identische Ergebnisse. In Fig. 2d und e hat die schwarz/schwarz Diagonale Vorrang, und dadurch geht der Rand nicht durch das Zentrum des Rechtecks hindurch. Der Rand geht nur dann durch die Mitte des Grundrechtecks, wenn eine schwarz/weiße Diagonalverbindung vorhanden ist.
Unter Verwendung derselben Prioritätsreihenfolge kann man überprüfen, welche möglichen Randpfade von einem bekannten Randpunkt aus zum Zentrum eines Rechtecks führen. Man findet alle möglichen Sprünge, indem man den Randpfaden folgt, bis sie durch eine zweite schwarz/weiße Diagonale gehen. Von einem Randpunkt aus muß der Rand zunächst durch eine schwarz/weiße Seite des betreffenden'Grundrechtecks hindurchgehen (Fig. 22a). Die allgemeine Form des Randpunkts für die beschriebene Prioritätsreihenfolge wird durch eine Kombination der Fig. 21a und 21b gegeben. In Fig. 22a ist mithin α weiß und kann./? ein beliebiger Wert sein. Der Punkt y in F i g. 22 b bestimmt den Weg, den der Rand nach Verlassen des ersten Rechtecks einschlägt Wenn γ weiß ist (F i g. 22 c), so geht der Rand durch eine schwarz/weiße Diagonale hindurch, auf der ein zweiter Randpunkt liegt, womit zwei aufeinanderfolgende Randpunkte verbunden sind. Wenn y schwarz ist, so hat das zweite Rechteck eine schwarz/schwarze Diagonale und biegt sich der Rand aufwärts um den weißen Punkt herum (Fig. 22d).
is Wenn danach der Punkt y weiß ist, so ist ein nächster Randpunkt gefunden, weil unabhängig vom vierten Punkt des Recktecks eine schwarz/weiße Diagonale vorhanden ist Wenn y schwarz ist, so geht der Rand zu einem vierten Rechteck, das eine schwarz/weiße Diagonale haben muß. Man hat einen folgenden Randpunkt gefunden. Es bestehen mithin nur drei Muster nach F i g. 21c, e, f, wodurch zwei aufeinanderfolgende Randpunkte verbunden werden. Diese und ihre drei Rotationen sind die Operatoren von Fig. 5.
Durch Änderung der Prioritätsreihenfolge schafft man andere Operatorsätze. So ergibt die Reihenfolge: schwarz/weiß, schwarz/schwarz, weiß/weiß den in Fig. 23 dargestellten Operatorsatz, deren Operatoren auf dieselbe Weise hervorgebracht werden, wie die Operatoren nach Fig. 5. Eine Ovale um einen schwarzen und einen weißen Punkt herum gibt an, daß der schwarze schwarz und/oder der weiße weiß sein muß. Das Ergebnis dieser Operatoren am Zeichen nach Fig. 1 ist in Fig. 24 dargestellt. Der Operatorsatz enthält den beachtenswerten Fall eines isolierten Randpunkts, bei dem die Randkrümmung zum ursprünglichen Punkt zurückkehrt.
Mit einer anderen Prioritätsreihenfolge schwarz/ schwarz, weiß/weiß, schwarz/weiß erhält man Operatoren, wodurch die aufeinanderfolgenden Randpunkte nicht unbedingt nebeneinanderliegen.
Hierzu 11 Blatt Zeichnungen

Claims (6)

Patentansprüche:
1. Anordnung zum Bestimmen des Randes eines Zeichens, das in Form eines regelmäßigen zweidimensionalen Musters von Zeichenpositionen mit einem ersten binären Wert und von Umgebungspositionen mit einem zweiten binären Wert vorliegt, wobei die Werte von entsprechend einer Operatorfigur zusammenliegenden Positionen einer Randbe-Stimmungsanordnung zuführbar sind, die eine Anzahl Randrichtungsbestimmer enthält, von denen jeder bei Vorliegen einer ihm zugeordneten, von den anderen Randrichtungsbestimmern unterschiedlichen Verteilung der Werte in der Operatorfigur ein Randrichtungssignal erzeugt, dadurch gekennzeichnet, daß jeder Randrichtungsbestimmer das Randrichtungssignal für einen allen Randrichtungsbestimmern fest zugeordneten Punkt erzeugt, der zwischen den Positionen der Operatorfigur liegt, daß bei einem orthogonalen Muster von Positionen die Operatorfigur 4 in einem Quadrat benachbarte Positionen enthält, daß ein erster Randrichtungsbestimmer ein erstes, senkrecht nach oben weisendes Randrichtungssignal bei einer Verteilung der Werte in der Operatorfigur entsprechend der logischen Funktion Ϊ.2.3.4 erzeugt, wobei eine Zahl angibt, daß bei Durchnumerierung der Positionen der Operatorfigur zeilenweise nacheinander von 1 bis 4 die mit dieser Zahl bezeichnete Position eine Zeichenposition mit dem ersten binären Wert ist, und eine Zahl mit einem Querstrich, daß die mit dieser Zahl bezeichnete Position eine Umgebungsposition mit dem zweiten binären Wert ist, daß ein zweiter Randrichtungsbestimmer ein in Richtung der Position 1 weisendes zweites Randrichtungssignal bei einer Verteilung der Werte in der Operatorfigur entsprechend der logischen Funktion T.2.3.4 erzeugt, und daß für die um 90°, 180° und 270° gedrehten Verteilungen der Werte in der Operatorfi- «o gur weitere Randrichtungsbestimmer vorhanden sind, die entsprechend gedrehte Randrichtungssignale erzeugen.
2. Anordnung zum Bestimmen des Randes eines Zeichens, das in Form eines regelmäßigen zweidi- 4^ mensionalen Musters von Zeichenpositionen mit einem ersten binären Wert und von Umgebungspositionen mit einem zweiten binären Wert vorliegt, wobei die Werte von entsprechend einer Operatorfigur zusammenliegenden Positionen einer Randbestimmungsanordnung zuführbar sind, die eine Anzahl Randrichtungsbestimmer enthält, von denen jeder bei Vorliegen einer ihm zugeordneten, von den anderen Randrichtungsbestimmern unterschiedlichen Verteilung der Werte in der Operatorfigur ein Randrichtungssignal erzeugt, dadurch gekennzeichnet, daß jeder Randrichtungsbestimmer das Randrichtungssignal für einen allen Randrichtungsbestimniern fest zugeordneten Punkt erzeugt, der zwischen den Positionen der Operatorfigur liegt, daß bei einem orthogonalen Muster von Positionen die Operatorfigur zwölf Positionen entsprechend einem Quadrat mit 4X4 Punkten abzuglich der vier Eckpunkte enthält, daß ein erster Randrichtungsbestimmer ein erstes, senkrecht nach oben weisendes Randrichtungssignal bei einer Verteilung der Werte in der O_peratorfigur entsprechend der logischen Funktion 1.4.5.8 oder der Funktion 2.4.5.6.9 erzeugt, wobei eine Zahl angibt, daß bei Durchnumerierung der Positionen der Operatorfigur zeilenweise nacheinander von 1 bis 12 die mit dieser Zahl bezeichnete Position eine Zeichenposition mit dem ersten binären Wert ist, und eine Zahl mit Querstrich, daß die mit dieser Zahl bezeichnete Position eine Umgebungsposition mit dem zweiten binären Wert ist, daß ein zweiter Randrichtungsbestimmer ein zweites, in Richtung der vierten Position weisendes Randrichtungssignal bei einer Verteilung der Werte in der Operatorfigur entsprechend der Funktion 1.3.4.5.8 erzeugt, und daß für die um 90°, 180° und 270° gedrehten Verteilungen der Werte in der Operatorfigur weitere Randrichtungsbestimmer vorhanden sind, die entsprechend gedrehte Randrichtungssignale erzeugen.
3. Anordnung zum Bestimmen des Randes eines Zeichens, das in Form eines regelmäßigen zweidimensionalen Musters von Zeichenpositionen mit einem ersten binären Wert und von Umgebungspositionen mit einem zweiten binären Wert vorliegt, wobei die Werte von entsprechend einer Operatorfigur zusammenliegenden Positionen einer Randbestimmungsanordnung zuführbar sind, die eine Anzahl Randrichtungsbestimmer enthält, von denen jeder bei Vorliegen einer ihm zugeordneten, von den anderen Randrichtungsbestimmern unterschiedlichen Verteilung der Werte in der Operatorfigur ein Randrichtungssignal erzeugt, dadurch gekennzeichnet, daß jeder Randrichtungsbestimmer das Randrichtungssignal für einen allen Randrichtungsbestimmern fest zugeordneten Punkt erzeugt, der zwischen den Positionen der Operatorfigur liegt, daß bei einem orthogonalen Muster von Positionen die Operatorfigur sechzehn Positionen entsprechend einem Quadrat mit 4X4 Punkten enthält, daß ein erster Randrichtungsbestimmer ein senkrecht nach oben weisendes Randrichtungssignal bei einer Verteilung der Werte in der Operatorfigur entsprechend der Funktion
(2+3).6.7.(TÖ+ll)
oder der Funktion
(2+6).3.4.7.8.(6+10).11.Ϊ2
erzeugt, wobei eine Zahl angibt, daß bei Durchnumerierung der Positionen der Operatorfigur zeilenweise nacheinander von 1 bis 16 die mit dieser Zahl bezeichnete Position eine Zeichenposition mit dem ersten binären Wert ist, und eine Zahl mit Querstrich, daß die mit dieser Zahl bezeichnete Position eine Umgebungsposition mit dem zweiten binären Wert ist, daß ein zweiter Randrichtungsbestimmer ein auf die Position 1 weisendes Randrichtungssignal bei einer Verteilung der Werte in der Operatorfigur entsprechend der logischen Funktion
(1+5).2J.6.7.(TÖ+11)
erzeugt, und daß für die um 90° 180° und 270° gedrehten Verteilungen der Werte in der Operatorfigur weitere Randrichtungsbestimmer vorhanden sind, die entsprechend gedrehte Randrichtungssignale erzeugen.
4. Anordnung zum Bestimmen des Randes eines Zeichens, das in Form eines regelmäßigen zweidi-
mensionalen Musters von Zeichenpositionen mit einem ersten binären Wert und von Umgebungspositionen mit einem zweiten binären Wert vorliegt, wobei die Werte von entsprechend einer Operatorfigur zusammenliegenden Positionen einer Randbestimmungsanordnung zuführbar sind, die eine Anzahl Randrichtungsbestimmer enthält von denen jeder bei Vorliegen einer ihm zugeordneten, von den anderen Randnchtungsbestimmern unterschiedlichen Verteilung der Werte in der Operatorfigur ein Randrichtungssignal erzeugt, dadurch gekennzeichnet, daß jeder Randrichtungsbestimmer das Randrichtungssignal für einen allen Randrichtungsbestimmern fest zugeordneten Punkt erzeugt, der zwischen den Positionen der Operatorfigur liegt, daß jeder Randrichtungsbestimmer das Randrichtungssignal für einen allen Randrichtungsbestimmern fest zugeordneten Punkt erzeugt, der zwischen den Positionen der Operatorfigur liegt, daß bei einem hexagonalen Muster von Positionen die Operatorfigur 6 in einem gleichseitigen Dreieck angeordnete Positionen enthält, daß bei einer derartigen Lage des gleichseitigen Dreiecks, daß dieses auf der Spitze steht und die obere Seite waagerecht verläuft, ein erster Randrichtungsbestimmer ήη erstes, parallel zur linken Seitenlinie nach links oben weisendes Randrichtungssignal bei einer Verteilung der Werte in der Operatorfigur entsprechend der logischen Funktion 1.2.4 erzeugt, wobei eine Zahl angibt, daß bei Durchnumerierung der Positionen der Operatorfigur in der angegebenen Lage zeilenweise nacheinander von 1 bis 6 die mit dieser Zahl bezeichnete Position eine Zeichenposition mit dem ersten binären Wert ist, und eine Zahl mit Querstrich, daß die mit dieser Zahl bezeichnete Position eine Umgebungsposition mit dem zweiten binären Wert ist, daß ein zweiter Randrichtungsbestimmer ein zweites, waagerecht nach links weisendes Randrichtungssignal bei einer Verteilung der Werte in der Operatorfigur entsprechend der logischen Funktion 1.2.4 erzeugt, und daß für die um 120° und 240° gedrehten Verteilungen der Werte in der Operatorfigur weitere Randrichtungsbestimmer vorhanden sind, die entsprechend gedrehte Randrichtungssignale erzeugen.
5. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Randrichtungssignale in die entgegengesetzte Richtung weisen.
6. Anordnung nach einem der vorhergehenden Ansprüche 2 bis 5, dadurch gekennzeichnet, daß nach dem Erzeugen eines Randrichtungssignals das nächste Randrichtungssignal aus einer folgenden Operatorfigur in gleicher Weise erzeugt wird, die in Richtung des erzeugten Randrichtungssignals gegenüber der vorhergehenden Operatorfigur in dem zweidimensionalen Muster verschoben ist.
DE2239765A 1971-08-17 1972-08-12 Anordnungen zum Bestimmen des Randes eines Zeichens Expired DE2239765C2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB3852771 1971-08-17
GB3852871A GB1401008A (en) 1971-08-17 1971-08-17 Character recognition apparatus
GB948872 1972-03-01

Publications (2)

Publication Number Publication Date
DE2239765A1 DE2239765A1 (de) 1973-03-08
DE2239765C2 true DE2239765C2 (de) 1984-04-12

Family

ID=27255375

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2239765A Expired DE2239765C2 (de) 1971-08-17 1972-08-12 Anordnungen zum Bestimmen des Randes eines Zeichens

Country Status (6)

Country Link
US (1) US3899771A (de)
JP (1) JPS4830331A (de)
DE (1) DE2239765C2 (de)
FR (1) FR2150150A5 (de)
GB (1) GB1401008A (de)
NL (1) NL7210970A (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3419140A1 (de) * 1984-05-23 1985-11-28 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Verfahren zur omnidirektionalen merkmalserkennung in einem sensorsehfeld
DE4135881A1 (de) * 1991-10-31 1993-05-06 Hassan Prof. Duebendorf Ch Nour Eldin Verfahren und vorrichtung zur extraktion der konturen von objekten

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1487920A (en) * 1973-12-21 1977-10-05 Mullard Ltd Character thinning apparatus
US4110736A (en) * 1974-04-24 1978-08-29 Agency Of Industrial Science & Technology Shape recognition system
US3996559A (en) * 1974-11-07 1976-12-07 International Business Machines Corporation Method and apparatus for accessing horizontal sequences, vertical sequences and regularly spaced rectangular subarrays from an array stored in a modified word organized random access memory system
US3995253A (en) * 1975-03-03 1976-11-30 International Business Machines Corporation Method and apparatus for accessing horizontal sequences, vertical sequences, and rectangular subarrays from an array stored in a modified word organized random access memory system
US4281312A (en) * 1975-11-04 1981-07-28 Massachusetts Institute Of Technology System to effect digital encoding of an image
US4020463A (en) * 1976-02-27 1977-04-26 Recognition Equipment Incorporated Apparatus and a method for storage and retrieval of image patterns
US4090174A (en) * 1976-11-01 1978-05-16 International Business Machines Corporation Method and apparatus for accessing horizontal sequences, vertical sequences and rectangular subarrays from an array stored in a modified word organized random access memory system
US4174514A (en) * 1976-11-15 1979-11-13 Environmental Research Institute Of Michigan Parallel partitioned serial neighborhood processors
US4167728A (en) * 1976-11-15 1979-09-11 Environmental Research Institute Of Michigan Automatic image processor
US4156230A (en) * 1977-11-02 1979-05-22 Rockwell International Corporation Method and apparatus for automatic extraction of fingerprint cores and tri-radii
US4368463A (en) * 1979-03-21 1983-01-11 Sigma Electronics Limited Graphic display area classification
US4290049A (en) * 1979-09-10 1981-09-15 Environmental Research Institute Of Michigan Dynamic data correction generator for an image analyzer system
US4442543A (en) * 1979-09-10 1984-04-10 Environmental Research Institute Bit enable circuitry for an image analyzer system
US4464788A (en) * 1979-09-10 1984-08-07 Environmental Research Institute Of Michigan Dynamic data correction generator for an image analyzer system
US4301443A (en) * 1979-09-10 1981-11-17 Environmental Research Institute Of Michigan Bit enable circuitry for an image analyzer system
US4773098A (en) * 1980-05-27 1988-09-20 Texas Instruments Incorporated Method of optical character recognition
DE3176044D1 (en) * 1980-05-27 1987-04-30 Texas Instruments Inc Didactic device such as doll having simulated sight and voice
US4395697A (en) * 1980-08-15 1983-07-26 Environmental Research Institute Of Michigan Off-image detection circuit for an image analyzer
EP0067810A1 (de) * 1980-12-24 1982-12-29 ISAACSON, Joel Dov Autonomes datengruppenmanipulationssystem
US4460958A (en) * 1981-01-26 1984-07-17 Rca Corporation Window-scanned memory
US4434502A (en) 1981-04-03 1984-02-28 Nippon Electric Co., Ltd. Memory system handling a plurality of bits as a unit to be processed
US4538299A (en) * 1981-12-04 1985-08-27 International Remote Imaging Systems, Inc. Method and apparatus for locating the boundary of an object
US4665554A (en) * 1983-07-13 1987-05-12 Machine Vision International Corporation Apparatus and method for implementing dilation and erosion transformations in digital image processing
US4628532A (en) * 1983-07-14 1986-12-09 Scan Optics, Inc. Alphanumeric handprint recognition
JPS6063405A (ja) * 1983-09-16 1985-04-11 Fujitsu Ltd パタ−ン検査方法及びその装置
US4665551A (en) * 1983-12-08 1987-05-12 Machine Vision International Corporation Apparatus and method for implementing transformations in digital image processing
US4602275A (en) * 1984-03-19 1986-07-22 Rca Corporation Television memory system
US4641356A (en) * 1984-08-24 1987-02-03 Machine Vision International Corporation Apparatus and method for implementing dilation and erosion transformations in grayscale image processing
DE3542484A1 (de) * 1985-11-30 1987-07-02 Ant Nachrichtentech Verfahren zur erkennung von kantenstrukturen in einem bildsignal
JP2556484B2 (ja) * 1986-10-20 1996-11-20 キヤノン株式会社 図形輪郭抽出装置
US4949390A (en) * 1987-04-16 1990-08-14 Applied Vision Systems, Inc. Interconnect verification using serial neighborhood processors
JPH02130692A (ja) * 1988-11-11 1990-05-18 Canon Inc 特徴抽出回路
GB2230886A (en) * 1989-04-29 1990-10-31 Marconi Gec Ltd Recognition of shapes
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
JP3576570B2 (ja) * 1991-11-19 2004-10-13 ゼロックス コーポレイション 比較方法
CA2077970C (en) * 1991-11-19 1999-02-23 Daniel P. Huttenlocher Optical word recognition by examination of word shape
US5321770A (en) * 1991-11-19 1994-06-14 Xerox Corporation Method for determining boundaries of words in text
CA2077969C (en) * 1991-11-19 1997-03-04 Daniel P. Huttenlocher Method of deriving wordshapes for subsequent comparison
US5841903A (en) * 1992-01-17 1998-11-24 Yamaha Corporation Method and device for extracting a connected component of image data
JP3853034B2 (ja) * 1997-08-13 2006-12-06 シスメックス株式会社 物体の境界決定方法および装置並びに物体の境界決定プログラムを記録した記録媒体
US6975764B1 (en) * 1997-11-26 2005-12-13 Cognex Technology And Investment Corporation Fast high-accuracy multi-dimensional pattern inspection
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US7392287B2 (en) 2001-03-27 2008-06-24 Hemisphere Ii Investment Lp Method and apparatus for sharing information using a handheld device
US8081820B2 (en) 2003-07-22 2011-12-20 Cognex Technology And Investment Corporation Method for partitioning a pattern into optimized sub-patterns
US7190834B2 (en) 2003-07-22 2007-03-13 Cognex Technology And Investment Corporation Methods for finding and characterizing a deformed pattern in an image
US7587086B2 (en) * 2004-06-04 2009-09-08 Microsoft Corporation Identifying selected pixels in a digital image
US8437502B1 (en) 2004-09-25 2013-05-07 Cognex Technology And Investment Corporation General pose refinement and tracking tool
US9679224B2 (en) 2013-06-28 2017-06-13 Cognex Corporation Semi-supervised method for training multiple pattern recognition and registration tool models

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1171627A (en) * 1966-10-07 1969-11-26 Post Office Improvements in or relating to Character Recognition Machines
US3766520A (en) * 1971-11-10 1973-10-16 Regonition Equipment Inc Character reader with handprint capability

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3419140A1 (de) * 1984-05-23 1985-11-28 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Verfahren zur omnidirektionalen merkmalserkennung in einem sensorsehfeld
DE4135881A1 (de) * 1991-10-31 1993-05-06 Hassan Prof. Duebendorf Ch Nour Eldin Verfahren und vorrichtung zur extraktion der konturen von objekten
DE4135881C2 (de) * 1991-10-31 1998-04-02 Eldin Hassan Prof Nour Verfahren und Vorrichtung zur Extraktion der Konturen von Objekten

Also Published As

Publication number Publication date
GB1401008A (en) 1975-07-16
JPS4830331A (de) 1973-04-21
DE2239765A1 (de) 1973-03-08
NL7210970A (de) 1973-02-20
FR2150150A5 (de) 1973-03-30
US3899771A (en) 1975-08-12

Similar Documents

Publication Publication Date Title
DE2239765C2 (de) Anordnungen zum Bestimmen des Randes eines Zeichens
DE2950712C2 (de) Einrichtung zur Erzeugung eines elektronischen Hintergrundrasters
DE2754392C3 (de) Verfahren und Schaltungsanordnung zur Erzeugung sich bewegender Objekte auf einem Fernseh-BUdschirm
DE3440377C2 (de)
DE2431451C3 (de) Verfahren zur Normierung der Strichstärke von abgetasteten Schriftzeichen sowie Einrichtung zur Durchführung des Verfahrens
DE3722444C2 (de) Verfahren und Vorrichtung zum Erzeugen von Entwurfsmusterdaten
DE1549833C2 (de) Verfahren zum Erkennen von Zeichen
DE2549336C3 (de) Speichereinrichtung für bildliche Darstellungen betreffende Daten
DE2432129C3 (de) Verfahren zum maschinellen Lesen von Zeichen und Vorrichtung zur Durchführung des Verfahrens
DE3415470A1 (de) Geraet und verfahren zum codieren und speichern von rasterabtastbildern
DE3036711C2 (de) Verfahren zum Verkleinern von grafischen Mustern
DE2459427A1 (de) Anordnung zum skelettieren von zeichen
DE2851772A1 (de) Einrichtung zur darstellung farbiger graphischer zeichen auf einem bildschirm
DE2525155A1 (de) Verfahren und anordnung zur rasterpunktdarstellung von codierter - liniensegmente darstellende - information in computergesteuerten datensichtgeraeten, insbesondere in kathodenstrahlbildschirmstationen
DE2515245A1 (de) Musteranalysiersystem
DE3716752C2 (de)
DE3713627A1 (de) Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE4409066C2 (de) Bilddaten-Kompressions/Expansions-Schaltung
DE3935558A1 (de) Vorrichtung zum konvertieren von bildumrissdarstellungsdaten in punktmusterdaten zum erzeugen von punkten
DE3941550A1 (de) Schaltungsanordnung zum zerlegen einer auf einem computer-ausgabedisplay anzuzeigenden graphikfigur
DE2159307A1 (de) Verfahren und schaltung zur durchfuehrung dieses verfahrens zur zentrierung eines in die auswerteinrichtung einer zeichenerkennungsmaschine eingegebenen zeichens
EP0598434B1 (de) Verfahren und Schaltungsanordnung zum Darstellen von Zeichen mit Umrandung
DE3341339C2 (de) Befehlsfolgegenerator
DE2313016C2 (de) Strichsignal-Erzeugungsvorrichtung für ein Zeichenanzeigegerät

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee