DE3830990A1 - Zeichenaufbereitungssystem - Google Patents

Zeichenaufbereitungssystem

Info

Publication number
DE3830990A1
DE3830990A1 DE3830990A DE3830990A DE3830990A1 DE 3830990 A1 DE3830990 A1 DE 3830990A1 DE 3830990 A DE3830990 A DE 3830990A DE 3830990 A DE3830990 A DE 3830990A DE 3830990 A1 DE3830990 A1 DE 3830990A1
Authority
DE
Germany
Prior art keywords
image pattern
point
outline
group
stdata
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
DE3830990A
Other languages
English (en)
Other versions
DE3830990C2 (de
Inventor
Kunio Seto
Chizuko Yamamoto
Kiyoshi Watanabe
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP62228713A external-priority patent/JP2667834B2/ja
Priority claimed from JP62228711A external-priority patent/JPH0747328B2/ja
Priority claimed from JP62228712A external-priority patent/JP2667833B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE3844735A priority Critical patent/DE3844735C2/de
Priority to DE3844832A priority patent/DE3844832C2/de
Publication of DE3830990A1 publication Critical patent/DE3830990A1/de
Application granted granted Critical
Publication of DE3830990C2 publication Critical patent/DE3830990C2/de
Granted 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)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

Die Erfindung bezieht sich auf ein grafisches Aufbereitungssystem für das elektronische Aufbereiten von Schriftstücken und grafischen bzw. Zeichenmustern.
In elektronischen Aufbereitungssystemen für Schriftstücke und grafische Darstellungen ist es häufig erforderlich, den Rand des ursprünglichen Bildmusters zu formen, um die Wirkung der Zeichen und Bildmuster hervorzuheben oder den Umriß eines Binärbildmusters herauszugreifen. Ein einfaches Verfahren für das Herausgreifen des Umrisses eines Binärbildmusters besteht darin, ein Muster durch das Bilden der logischen Summe aus Mustern, die durch Versetzen des ursprünglichen Musters in vertikaler und seitlicher Richtung um eine vorbestimmte Anzahl von Bits erhalten werden, und durch Bilden der logischen Exklusivsumme bzw. Antivalenz aus diesem Muster und dem ursprünglichen Muster herzustellen, um auf diese Weise den Rand des ursprünglichen Musters zu erhalten.
Bei diesem Verfahren wird jedoch der Außenrand, nämlich die Grenze zu dem bildfreien Bereich des ursprünglichen Musters herausgegriffen, so daß das Verhältnis des Bildbereichs bzw. der Bildfläche zu dem bildfreien Bereich bzw. der bildfreien Fläche von demjenigen des ursprünglichen Bilds verschieden wird.
In den letzten Jahren wurden elektronische Fotosetzsysteme und elektronische Aufbereitungssysteme für Schriftstücke und grafische Darstellungen unter Verwendung von Arbeitsplätzen mit weiterentwickelten hochintegrierten Schaltungen und von Laserstrahldruckern entwickelt, die die Reproduktion von Binärbilddaten mit hohem Auflösungsvermögen ermöglichen. Bei diesen Systemen sind verschiedenartige Zeichen und Grafikmuster, nämlich verschiedenerlei Schriftzeichen, verschiedenerlei Schriftarten und verschiedenerlei Ausgabeformate erforderlich; um diese ohne großen Aufwand zu erhalten, wurden beispielsweise eine Lauflängenkomprimierung von Binärmustern und eine Vektorcodierung von Zeichenmustern vorgeschlagen. Die Vektorcodierung hat in der letzten Zeit Aufmerksamkeit gefunden, da die vorangehend genannte Erfordernis unabhängig von dem Verfahren zur Datenkomprimierung schwierig zu erfüllen ist, wenn das Muster durch ein Binärmuster vorgegeben ist. Für das Erzielen eines gut aussehenden Reproduktionsbilds und eines ausreichend hohen Komprimierungsgrades bei der Vektorcodierung ist jedoch für das Codieren ein beträchtlicher Arbeitsaufwand und "asthetische", nicht einfach mathematische Genauigkeit erforderlich. Zum Erfüllen der vorangehend genannten Erfordernisse wird das Aufbereiten von Vektordaten üblicherweise mit einem Aufbereitungsgerät für grafische Muster vorgenommen.
Die herkömmlichen Systeme ermöglichen jedoch nur das Anzeigen der aufbereiteten Daten, nicht aber der ursprünglichen Daten. Infolgedessen kann die Bedienungsperson nicht die Wiedergabetreue der aufbereiteten Daten im Vergleich mit den ursprünglichen Daten erkennen, so daß für den Aufbereitungsvorgang beträchliche Erfahrung notwendig war und die Aufbereitung hinsichtlich des Zeitaufwands unwirtschaftlich war.
Anders ausgedrückt bedeutet dies, daß die vorangehend genannte Erfordernis nicht mit dem dafür benötigten Arbeitsaufwand in Einklang zu bringen ist. Falls auf das Erfüllen der Erfordernis Wert gelegt wird, ist es infolgedessen üblich, das ursprüngliche Muster in großem Format auf ein Blatt Papier oder einen Film aufzuzeichnen und mit einem Tableau oder einem Digitalisierer die Koordinaten von repräsentativen Punkten zu bestimmen. Falls andererseits Wert auf Ersparnis an Arbeitsaufwand bei dem Codieren gelegt wird, wurde hierfür ein Verfahren vorgeschlagen, bei dem das ursprüngliche Analogbildmuster beispielsweise mit einem Abtastzeilensensor der Analog/Digital-Umsetzung unterzogen wird, der Umriß herausgegriffen wird und an dem Umriß die charakteristischen Punkte nach einem bestimmten Analyse-Algorithmus gewählt werden (JP- OS 81383/83).
Die Bildeingabe mit einem Tableau oder einem Digitalisierer stellt jedoch einen sehr hohen Arbeitsaufwand dar, wobei die Genauigkeit der Eingabe ungleichmäßig ist, was in großem Ausmaß von der Qualität des urprünglichen Bilds und von dem Können der Bedienungsperson abhängt.
Andererseits ist das letztgenannte Verfahren mit der Analog/ Digital-Umsetzung und der automatischen Analyse auch mit folgenden schwerwiegenden Mängeln verbunden:
1. Es ist nicht möglich, ein schön aussehendes Reproduktionsbild oder einen ausreichenden Komprimierungswert zu erhalten, wenn der Algorithmus zur automatischen Analyse nicht vollständig ist;
2. wegen des Digitalisierungs-Schwellenwertes des bei der Analog/Digital-Umsetzung verwendeten Sensors ist hinsichtlich der Dicke der Umrißlinie ein Fehler von mindestens zwei Bildpunkten unvermeidbar (nämlich ein Fehler von einem Bildpunkt an jeder Seite der Umrißlinie einer bestimmten Breite);
3. um hinsichtlich der Punkte 1 und 2 zufriedenstellende Ergebnisse zu erhalten, muß das ursprüngliche analoge Bildmuster verfeinert werden. In der Praxis bedeutet dies, daß ein ausreichend großes Bildmuster mit ausreichend scharfen Rändern und Umrißlinien verwendet werden muß, dessen Herstellung einen beträchlichen Arbeitsaufwand erforderlich macht, welcher gleich dem oder höher als der Arbeitsaufwand für die Eingabe mit dem Digitalisierer ist;
4. die ursprüngliche Form kann teilweise oder merklich verloren gehen, falls zur Verringerung des Arbeitsaufwands hinsichtlich des Punktes 3 der Fehler als "Störung" ausgeschieden wird. Beispielsweise kann in einem Zeichen "", das als "ke" ausgesprochen wird und die Bedeutung "Haar" hat, die im horizontalen Verlauf auftretende, leicht geneigte Linie fälschlich als einfache horizontale Linie oder eine mit einer sehr geringen Krümmung gebogene Linie fälschlich als gerader Rand angesehen werden.
Daher wird als praktischer Kompromiß das Ergebnis der automatischen Analyse, bei der faktisch ungefähr 70% der tatsächlich aufzuwendenden Arbeit ausgeführt wird, mit einem gesonderten "Werkzeug" bzw. Arbeitsprogramm zur Vektormusteraufbereitung weiter vervollständigt.
Auf diese Weise müssen die nicht automatisch analysierbaren feinen Teile des zu codierenden Musters wiederholt aufbereitet werden.
In Anbetracht der vorstehenden Ausführungen soll mit der Erfindung ein Verfahren angegeben werden, bei dem der Rand eines ursprünglichen Bildmusters dadurch geformt wird, daß das logische Produkt aus dem ursprünglichen Muster und invertierten Mustern von solchen Mustern gebildet wird, die durch Versetzen des ursprünglichen Musters in vertikaler und seitlicher Richtung um jeweils einen Bildpunkt erhalten werden; dadurch wird der Innenrand (die Grenze des Bildbereichs des ursprünglichen Musters) herausgegriffen, ohne daß das Verhältnis der Bildfläche zur bildfreien Fläche des ursprünglichen Musters verändert wird.
Ferner soll mit der Erfindung ein Zeichenaufbereitungssystem geschaffen werden, das es ermöglicht, nicht nur die gerade verarbeiteten Daten, sondern auch die ursprünglichen Daten anzuzeigen; dadurch kann leicht die Wiedergabetreue der aufbereiteten Daten im Vergleich mit den ursprünglichen Daten erkannt werden und der Wirkungsgrad der Aufbereitung verbessert werden.
Mit der Erfindung soll ein Zeichenaufbereitungssystem geschaffen werden, das eine Speichereinrichtung zum Speichern einer Gruppe von Koordinaten von Punkten, die die Umrißlinie repräsentieren, eine Anzeigeeinrichtung zur Anzeige der Gruppe von Punktekoordinaten, eine Auszugseinrichtung für das Herausgreifen mehrerer markanter Punkte aus der Gruppe von Punktekoordinaten und eine Einrichtung aufweist, die die Gruppe von Koordinatenpunkten für die Umrißlinie mit der Gruppe der markanten Punkte in Wechselbeziehung setzt.
Weiterhin soll mit der Erfindung ein Zeichenaufbereitungssystem geschaffen werden, das sich nicht auf die Koordinaten der Punkte auf der Umrißlinie in begrenzter Genauigkeit, sondern auf die Verbindung der Punkte als ein Muster bzw. auf die Form der Umrißlinie stützt, wodurch das Beginnen der Endaufbereitung unmittelbar nach der automatischen Eingabe und der Analog/Digital-Umsetzung ermöglicht ist.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung näher erläutert.
Fig. 1-1 und 1-2 sind Blockdarstellungen eines Zeichenaufbereitungssystems gemäß einem Ausführungsbeispiel.
Fig. 2 und 3 sind eine Prinzipdarstellung und ein Ablaufdiagramm für das Herausgreifen allein von Binärbildpunkten einer Umrißlinie.
Fig. 4(a) bis (e) zeigen eine Anordnung zum Speichern einer Gruppe von Koordinaten von Punkten, die die Umrißlinie repräsentieren.
Fig. 5 ist ein Ablaufdiagramm für die Sichtanzeige der Gruppe von Punktekoordinaten der Umrißlinie.
Fig. 6 ist ein Ablaufdiagramm für das Herausgreifen von mindestens einem Merkmalpunkt aus der Gruppe von Punktekoordinaten.
Fig. 7 veranschaulicht die Art der Anzeige von Merkmalpunkten.
Fig. 8 zeigt eine Anordnung für das Bilden der Wechselbeziehung zwischen der Gruppe von Koordinaten von Punkten, die die Umrißlinie darstellen, und der Gruppe der Merkmalpunkte.
Fig. 9 zeigt eine Anordnung für das Wählen von Funktionen zur Vereinfachung.
Fig. 10 ist ein Ablaufdiagramm für das Bestimmen des Ausmaßes eines gewählten Vorgangs aus der Gruppe von Merkmalpunkten.
Fig. 11 und 12 zeigen eine Anordnung für das Übertragen des gewählten Funktionsvorgangs auf die Gruppe von Koordinaten der die Umrißlinie darstellenden Punkte und die Gruppe der hiermit in Wechselbeziehung stehenden Merkmalpunkte.
Fig. 13 ist ein Ablaufdiagramm für die Anzeige der Gruppe von Koordinaten der die Umrißlinie darstellen Punkte und der Gruppe der hiermit in Wechselbeziehung stehenden Merkmalpunkte mit geraden Linien.
Fig. 14 und 15 zeigen eine Anordnung zum Bestimmen von Koordinatenkomponenten, die auf einer gewählten Strecke abzuändern sind.
Fig. 16 veranschaulicht eine Anordnung für das Ersetzen der Koordinaten des bestimmten Merkmalpunkts durch die Komponenten von Bezugskoordinaten und für das Weglassen der Gruppe von Koordinaten der auf der Strecke liegenden Punkte.
Die Fig. 1-1 ist eine Blockdarstellung des grafischen bzw. Zeichenaufbereitungssystems gemäß einem Ausführungsbeispiel. Bei dem System zählen zu den grafischen Mustern Zeichenmuster und andere Bildmuster. Die erfindungsgemäßen Funktionen können mittels eines Systems aus mehreren Geräten gemäß der folgenden Darstellung des Ausführungsbeispiels oder mittels eines einzelnen Geräts erreicht werden. Die Fig. 1-1 zeigt:
eine Steuereinheit 1 mit einem Mikrocomputer (CPU) 2, einem internen Speicher 6 aus einem Schreib/Lesespeicher bzw. Arbeitsspeicher (RAM) und einem Festspeicher (ROM) und mit externen Speichern 3, 4 und 5 in Form eines Festplattenspeichers, eines Diskettenspeichers und eines Kassettenplattenspeichers;
eine Bildeingabeeinheit 7 mit einem Vorlagenleser zur Analog/Digital-Umsetzung eines auf einen Auflagetisch aufgelegten Bilds mittels eines Bildsensors wie einer Ladungskopplungsvorrichtung (CCD) zum Erzeugen elektrischer Signale;
eine Bildausgabeeinheit 8 mit einem Schnelldrucker 9 wie einem Laserstrahldrucker zur Bildaufzeichnung auf einem Aufzeichnungsmaterial entsprechend elektrischen Signalen;
ein Kathodenstrahlröhren-Sichtgerät (CRT) 10 zur Anzeige von Steuerinformationen, das eine Bildverarbeitungs- Anzeigeeinheit des Systems bildet;
eine Tastatur 11 für die Eingabe von Befehlen in das System;
eine Zeigervorrichtung 12 für die Eingabe von Befehlen in die Bildinformationen an dem Sichtgerät 10 durch das Bewegen einer Zeigermarke bzw. eines Cursors an dem Sichtgerät 10 in x- und y-Richtung, wodurch in einem Befehlsmenue ein Befehl gewählt wird oder die Koordinaten eines beliebigen Punkts des an dem Sichtgerät 10 angezeigten Bildmusters eingegeben werden;
einen Video-Arbeitsspeicher (VRAM) 13 mit den an dem Sichtgerät 10 anzuzeigenden Daten in Form eines entwickelten bzw. aufgeschlüsselten Binärdatenbilds;
einen Programmspeicher (PNEM) in dem internen Speicher 6 zum Speichern eines in den nachfolgend beschriebenen Ablaufdiagrammen dargestellten Programms für Aufbereitungsvorgänge, das gewählt und aus dem Festplattenspeicher 3 übernommen wird;
einen Bildspeicher (INEM) 14 zum Speichern der in das System eingegebenen und darin verarbeiteten Daten, die über die Bildausgabeeinheit 8 ausgegeben werden; und
eine Bithandhabungseinheit (BMU) 15 für die Datenübertragung zwischen dem Video-Arbeitsspeicher 13, dem Programmspeicher 6 und dem Bildspeicher 14 unter direktem Speicherzugriff ohne Benutzung des Mikrocomputers bzw. der Zentraleinheit 2 mit zusätzlichen Funktionen wie der logischen Berechnung in Biteinheiten, der Drehung und der Größenänderung des aufgeschlüsselten Musters bei der Übertragung.
Die Fig. 1-2 ist eine Blockdarstellung der in dem System nach Fig. 1-1 verwendeten Einrichtung.
In dem in Fig. 1-1 gezeigten Bildspeicher 14 sind gesondert grafische bzw. Zeichenspeicher G 0, G 1 und G 2 ausgebildet. Die mittels der Bildeingabeeinheit 7 eingegebenen analogen Bilddaten werden durch die Analog/Digital-Umsetzung in binäre Signale umgesetzt, die vorübergehend in den Zeichenspeicher G 0 eingespeichert werden. Aus dem in Fig. 1-1 gezeigten externen Speicher werden Systemprogramme C 1, C 2, C 3, C 4, C 5, C 6, C 7 und C 8 für das Betreiben der Einrichtung in der Form von Programmen in den internen bzw. Programmspeicher 6 übertragen und mittels des Mikrocomputers 2 ausgeführt. Speicher M 1 und M 2 für das vorübergehende Speichern der aus einem Umrißlinienauszugteil C 1 erhaltenen Punkteinformationen und der mittels eines Merkmalpunkteauszugteils C 2 herausgegriffenen Merkmalpunkteinformationen werden in dem Programmspeicher 6 zugeordnet, wenn es erforderlich ist. In dem Video- Arbeitsspeicher 13 sind Sichtanzeigespeicher V 0 und V 1 ausgebildet, die mittels eines Anzeigewählteils C 3 zur Sichtanzeige am Sichtgerät 10 eingeschaltet werden.
Die Fig. 2(a) zeigt ein Beispiel für ein Binärbild bzw. Bitverzeichnis-Bild, das über die Bildeingabeeinheit 7 eingegeben und vorübergehend in dem Zeichenspeicher G 0 gespeichert wird.
Die Fig. 2 und das in Fig. 3 gezeigte Ablaufdiagramm veranschaulichen das Verfahren, nach dem mittels des Umrißlinienauszugteils C 1 allein die Bits bzw. Bildpunkte der Umrißlinie herausgegriffen werden. Das wichtigste Merkmal dieses Verfahrens besteht darin, den "Innenrand" der Umrißlinie des eingegebenen Binärbilds nach Fig. 2(a) herauszugreifen, da das Herausgreifen des "Außenrands" der Umrißlinie eine Änderung des Verhältnisses zwischen der Bildfläche und der bildfreien Fläche des ursprünglichen Musters ergeben würde.
Die Fig. 2(b), (c), (d) und (e) entsprechen dem nächsten Zeichenspeicher bzw. Speicherbereich G 1 in dem Bildspeicher 14 mit dem gleichen Format wie der in Fig. 2(a) gezeigte Speicherbereich, während die Fig. 2(f) dem weiteren Zeichenspeicher bzw. Speicherbereich G 2 entspricht, der auf gleichartige Weise in dem Bildspeicher 14 zugeordnet ist. Die Übertragung bei den in Fig. 3 dargestellten verschiedenartigen Schritten erfolgt als Blockübertragung in dem Speicher unter der nachfolgend beschriebenen logischen Verarbeitung in Biteinheiten mittels der in Fig. 1-1 gezeigten Bithandhabungseinheit 15. Die in Fig. 3 verwendeten Abkürzungen haben im einzelnen folgende Bedeutung:
STR ist D = S,
KO ist D = (und) D und
OR ist D = S (oder) D,
wobei S der Sendespeicherinhalt ist, D der Zielspeicherinhalt ist, (und) das logischen Produkt darstellt, (oder) die logische Summe darstellt und die Inversion von S ist.
Das durch den vorstehend beschriebenen Umrißlinienauszug erhaltene Binärbild nach Fig. 2(f) wird mittels einer Umrißliniennachführmaske nach Fig. 2(g) nachgezogen, um Vektorpunktekoordinaten nach Fig. 2(h) zu erhalten. In Fig. 2(g) ist der Mittelpunkt der Außenliniennachführung als Punkt dargestellt, während mit bis die Prioritätsreihenfolge für das Bestimmen eines nächsten Außenlinienpunkts bei der Außenliniennachführung dargestellt ist.
Die Fig. 2(a) bis (f) und (h) sind zur Vereinfachung in verkleinertem Maßstab dargestellt, während dagegen das tatsächliche Binärbild größer ist. Da ferner das eingegebene analoge Bild nicht scharf ist, ist selbst ein gerader Abschnitt durch eine Gruppe von Vektorpunkten mit kleinen Störungen gemäß Fig. 2(i) dargestellt.
Die mittels des vorangehend genannten Umrißlinienauszugteils C 1 bestimmten Umrißlinienpunkte werden als Gruppe von Punktekoordinaten in den Punktekoordinatenspeicher M 1 eingespeichert.
Die Fig. 4(a) und (b) zeigen den Aufbau der Umrißlinieninformationen und Punkteinformationen in dem Punktekoordinatenspeicher M 1 für das Speichern der Gruppe von die Umrißlinie repräsentierenden Punktekoordinaten.
Die Fig. 4(a) zeigt, daß die Umrißlinieninformation aus zwei Teilen besteht, von denen der eine Teil spno eine von einem Anfangspunkt der Umrißlinie an gezählte Ordnungszahl in einer Folge von Punktekoordinaten ist und der andere Teil effcnt die Anzahl von Elementen oder Punktekoordinaten angibt, die das Zeichenmuster bilden.
Die Fig. 4(b) zeigt, daß die Punkteinformation aus sechs Teilen besteht, von denen der Teil stno eine Ordnungszahl bei der im Zusammenhang mit Fig. 8 nachfolgend erläuterten Anordnung von Merkmalpunkten (charakteristischen bzw. Merkpunkten) ist und einen Anfangswert "-1" hat. Mit pgno ist die Umrißlinie bezeichnet, zu der der betreffende Punkt gehört, nämlich eine Ordnungszahl in der Umrißlinieninformationsanordnung. Ein Wert flag ist eine Kenninformation, die den nachfolgend erläuterten Betriebsvorgang für das Formen und Vereinfachen darstellt und die einen Anfangswert "0" hat. Daten pos stellen die Koordinaten eines Punkts durch (x, y) dar. Daten prno und nxno stellen die Verbindung von Punkteinformationen dar und geben jeweils die Ordnungszahl der Punkteinformation an, die einem vorangehenden Punkt bzw. einem nächsten Punkt entspricht.
Zur Verdeutlichung zeigt die Fig. 4(c) als Beispiel ein Zeichenmuster "", während die Fig. 4(d) und (e) die entsprechenden Umrißlinieninformationen und Punkteinformationen zeigen.
Aus der Fig. 4(d) ist ersichtlich, daß das in Fig. 4(c) gezeigte Zeichenmuster aus vier Umrißlinien zusammengesetzt ist. Für eine erste Umrißlinie (stpoly = 0) ist spno "0", nämlich eine Ordnungszahl, die den Anfangspunkt der Umrißlinie in der Folge von Punkteinformationen anzeigt, während effcnt mit "a" die Anzahl der Elemente oder Punktekoordinaten anzeigt, die die erste Umrißlinie bilden.
Die Fig. 4(e) zeigt den Inhalt der Punkteinformationen, die das in Fig. 4(c) dargestellte Zeichenmuster bilden. Beispielsweise hat für den einem Punkt P (0) entsprechenden Inhalt stdata (0) der Teil stno den Anfangswert "-1", während pgno gleich "0" ist, was eine Umrißlinie anzeigt, flag den Anfangswert "0" hat, pos die Koordinaten (x, y) des Punkts sind, prno einen Wert (a - 1) zur Anzeige des vorangehenden Punkts hat und nxno einen Wert "1" zur Anzeige des nachfolgenden Punkts hat.
Die Fig. 9 veranschaulicht einen Funktionswählteil C 4 für das Befehlen der Ausführung von verschiedenerlei Funktionen des beschriebenen Systems und den Anzeigewählteil C 3 für das Schalten der Sichtanzeige; die Funktionen können beliebig durch eine Eingabe über die Zeigervorrichtung 12 oder die Tastatur 11 gewählt werden.
Auf die Eingabe einer Funktion 1 hin wird zur Ausführung des betreffenden Befehls ein Programm 1 in Betrieb gesetzt. Beispielsweise ordnet der Merkmalpunkteauszugteil C 2 der Funktion 1 eine zusätzliche Wahl und einer Funktion 2 eine neue Wahl zu. Ferner ordnet ein Funktionsausführungsteil C 5 einer Funktion 3 eine Abschnittslöschung und einer Funktion 6 eine Ausrichtung zu. Weiterhin ordnet der Anzeigewählteil C 3 einer Funktion 9 eine Originalanzeige und einer Funktion 10 eine Vektoranzeige unter Verarbeitung zu.
Auf das Befehlen der Funktion 1 oder 2 hin wird ein nachfolgend in Verbindung mit Fig. 6 erläutertes Programm für das Herausgreifen der Merkmalpunkte in Betrieb gesetzt, wodurch die charakteristischen bzw. Merkmalpunkte aufeinanderfolgend herausgegriffen werden, bis ein anderer Befehl gewählt wird. Das Wählen der Funktion 3 erlaubt das nachfolgend in Verbindung mit Fig. 11 erläuterte abschnittsweise Löschen bzw. Weglassen. Das Wählen der Funktion 6 erlaubt die nachfolgend im Zusammenhang mit den Fig. 14 und 15 erläuterte Ausrichtung. Das Wählen der Funktion 9 erlaubt die nachfolgend in Verbindung mit Fig. 5 beschriebene Sichtanzeige der Gruppe von die Umrißlinie darstellenden Punktekoordinaten. Das Wählen der Funktion 10 erlaubt die nachfolgend im Zusammenhang mit Fig. 13 erläuterte Sichtanzeige der Gruppe von die Umrißlinie darstellenden Punktekoordinaten und der Gruppe von hiermit in Wechselbeziehung stehenden Merkmalpunkten mit geraden Linien. Die Funktionen werden mittels des Funktionsausführungsteils C 5 und mittels Anzeigeteilen C 7 und C 8 ausgeführt.
Wenn nach Fig. 9 die Funktion 9 eingegeben wird, wählt der Anzeigewählteil C 3 in dem ersten Sichtanzeigeteil C 7 die Originalanzeige bzw. die Sichtanzeige des ursprünglichen Bildmusters.
Die Fig. 5 ist ein Ablaufdiagramm, das die Funktion des ersten Sichtanzeigeteils C 7 bei der Anzeige der Gruppe der die Umrißlinien darstellenden Punktekoordinaten veranschaulicht.
Bei einem Schritt 1 wird als Steuervariable poly no für das Bestimmen der anzuzeigenden Umrißlinie ein Anfangswert "0" eingesetzt.
Bei einem Schritt 2 wird die Fertigstellung der Abarbeitung der in Fig. 4(c) gezeigten Umrißlinieninformation ermittelt, wobei die Anzeige beendet wird, wenn diese Information durchgearbeitet ist.
Bei Schritten 3, 4 und 5 wird die Anfangseinstellung auf den Anfangspunkt einer jeden Umrißlinie dadurch ausgeführt, daß die Ordnungszahl der Punkteinformation an dem Anfangspunkt als Variable st no und cur no eingesetzt wird und die Koordinatenwerte des Anfangspunkts als Variable pos e eingesetzt werden.
Bei Schritten 6, 7 und 8 werden ein Linienanzeige-Anfangspunkt pos s und ein Linienanzeige-Endpunkt pos e als Parameter für eine bei einem Schritt 9 benutzte Linienanzeigefunktion LINE eingesetzt.
In dieser Funktion LINE (VO, pos s, pos e) bestimmt der Wert VO den in Fig. 1-2 gezeigten Speicher VO als Anzeigespeicher, während die Werte pos s und pos e die Koordinatenwerte (x, y) in diesem Sichtanzeigespeicher VO anzeigen.
Bei einem Schritt 10 wird eine Wiederholungssteuerung für das Ermitteln der Fertigstellung der gerade angezeigten Umrißlinie ausgeführt. Falls die Anzeige abgeschlossen ist, wird bei einem Schritt 11 die Steuervariable poly no um "1" aufgestuft, wonach das Programm zu dem Schritt 2 zurückkehrt; falls die Anzeige nicht fertiggestellt ist, nämlich die Umrißlinie noch weiter fortgesetzt ist, kehrt das Programm zu dem Schritt 6 zurück.
Wenn nach Fig. 9 die Funktion 1 oder 2 eingegeben wird, wird der Merkmalpunkteauszugteil C 2 in Betrieb gesetzt, um aus der Gruppe von Koordinaten einen Merkmalpunkt oder mehrere Merkmalpunkte herauszugreifen.
Die Fig. 6 ist ein Ablaufdiagramm der Funktion des Merkmalpunkteauszugteils C 2 für das Herausgreifen von mindestens einem Merkmalpunkt aus der Gruppe von Punktekoordinaten. Ein Operator A(B) bedeutet, daß der Inhalt einer Komponente B in einer Anordnung A entnommen wird, während ein Operator A.B bedeutet, daß der Inhalt eines zu Daten A gehörigen Elements B entnommen wird.
Bei einem Schritt 1 wird eine Anfangseinstellung dadurch ausgeführt, daß als Variable pos Koordinatenwerte eingesetzt werden, die mittels der Zeigervorrichtung 12 an einer Stelle der Sichtanzeige gewählt werden, als Steuervariable poly no für das Steuern der Reihenfolge der zu untersuchenden Umrißlinien "0" eingesetzt wird, als eine Variable min zur Angabe des Abstands zwischen dem durch pos dargestellten Punkt und einem herauszugreifenden Prüf- oder Zielpunkt ein ausreichend hoher Wert "10 000" eingesetzt wird und als eine Variable no zur Anzeige der Ordnungszahl des am Ende dieses Programmablaufs einzusetzenden Merkmalpunkts ein Anfangswert "-1" eingesetzt wird, um einen Fehlerwert zu erhalten, wenn bei diesem Ablauf ein gewünschter Merkmalpunkt nicht erreicht wird.
Bei einem Schritt 2 wird das Ende der in Fig. 4(d) gezeigten Umrißlinieninformation ermittelt; wenn die Umrißlinie fertiggestellt ist, schreitet das Programm zu einem nachfolgend beschriebenen Schritt 13 weiter.
Bei einem Schritt 3 wird die Anfangseinstellung an dem Anfangspunkt einer jeden Umrißlinie dadurch ausgeführt, daß als Steuervariable st für das Steuern der Reihenfolge der Punkteinformationen und als Variable sn die Ordnungszahl der Punkteinformation für den Anfangspunkt eingesetzt wird.
Bei Schritten 4 und 5 wird eine Funktion EXTENT ausgeführt, um durch das Vergleichen der Abstände der Komponenten zu ermitteln, ob die Koordinaten (x, y) der gegenwärtigen Koordinaten stdata (st).pos und pos in dem das Zeichenmuster an der Anzeige bildenden Koordinatensystem enthalten sind. Wenn das Ergebnis "FALSCH" (= 0) oder "RICHTIG" (= 1) ist, schreitet das Programm jeweils zu einem nachfolgend erläuterten Schritt 10 bzw. zu dem nächstfolgenden Schritt fort.
Bei einem Schritt 6 wird ermittelt, ob die Zielpunktkoordinaten schon gelöscht worden sind; wenn die Koordinaten gelöscht sind, schreitet das Programm zu dem Schritt 10 weiter.
Bei einem Schritt 7 wird der Abstand zwischen den Vergleichskoordinaten stdata(st).pos in der Anordnung der Punkteinformation und den mittels der Zeigervorrichtung gewählten Koordinaten pos berechnet und als Variable dist eingesetzt.
Bei einem Schritt 8 wird die Variable min mit der bei dem Schritt 7 erhaltenen Variablen dist verglichen. Wenn dist kleiner als min ist, werden bei einem Schritt 9 die Substitutionen min = dist und no = st vorgenommen. Auf diese Weise gibt die Variable no die Ordnungszahl des an dieser Stelle herauszugreifenden Zielpunkts an. Dann wird bei dem Schritt 10 die Steuervariable st durch die nächste Ordnungszahl der Punkteinformation stdata(st).nxno ersetzt, wonach bei einem Schritt 11 die Wiederholung durch Ermittlung der Fertigstellung der gerade untersuchten Umrißlinie gesteuert wird. Wenn die Umrißlinie fertiggestellt ist, wird bei einem Schritt 12 die Steuervariable poly no um "1" erhöht, wonach das Programm zu dem Schritt 2 zurückkehrt. Wenn die Umrißlinie noch weiter fortgesetzt ist, kehrt das Programm zu dem Schritt 4 zurück.
Bei dem Schritt 13 wird ermittelt, ob bei den vorangehenden Schritten ein Punkt herausgegriffen worden ist. Falls bei dem Schritt 13 no "-1" ist, wird daraus das Fehlen eines solchen Auszugspunkts festgestellt, wonach bei einem Schritt 16 ein Alarmsignal beispielsweise als Ton abgegeben wird.
Ein Schritt 14 wird gemäß der nachfolgenden Erläuterung anhand der Fig. 8 dann ausgeführt, wenn bei dem gegenwärtigen Prozeß ein neuer charakteristischer bzw. Merkmalpunkt herausgegriffen wird.
Bei einem Schritt 15 wird das Herausgreifen eines Merkmalpunkts angezeigt, wie beispielsweise durch einen kleinen Kreis an der Sichtanzeige gemäß Fig. 7.
Die Fig. 8 zeigt eine Anordnung zum Bilden der Wechselbeziehung zwischen einer Gruppe M 1 der das vorangehend genannte Zeichenmuster "" darstellenden Punktekoordinaten (im Speicher M 1) und einer Gruppe M 2 von Merkmalpunkten (im Speicher M 2), wobei als Merkmalpunkte nach Fig. 6 die Punkte stdata(n), stdata(n + a), stdata(n + bd), dstdata(n + c) und stdata(n+d) gewählt sind. Die Fig. 7 zeigt ein Beispiel für den in Verbindung mit Fig. 6 beschriebenen Schritt 15.
Die Gruppe der Merkmalpunkte wird in einem Format abgespeichert, das dem in Fig. 4(b) gezeigten Format der Punkteinformationen ähnlich ist. Bei der Gruppe der Merkmalpunkte zeigt jedoch prno die Ordnungszahl der Punkteinformation an, um klar anzugeben, welche Elemente der Punkteinformation als Merkmalpunkte herausgegriffen worden sind. Ferner ist eine Variable cstcnt vorgesehen, die die Anzahl der an diesem Punkt angemerkten Elemente angibt und die einen Anfangswert "0" hat.
Wenn die Ordnungszahl der Punkteinformation für einen gemäß der Darstellung in Fig. 6 herausgegriffenen Punkt "n" ist und die Variable cstcnt an diesem Punkt "j" ist, haben für die Korrelation bzw. Wechselbeziehung gemäß Fig. 8 die Punktekoordinateninformation stdata(n) und eine Merkmalpunktinformation stackp(j) jeweils folgenden Inhalt:
An dem charakteristischen bzw. Merkmalpunkt j hat der Wert stackp(j).flag den Wert stdata(n).flag des herausgegriffenen Punkts, während der Wert stackp(j).pos den Wert stdata(n).pos hat und der Wert stackp(j).prno die Ordnungszahl "n" ist. Ferner hat für die Punktinformation n der Wert stdata(n).stno den Wert der Variablen cstcnt an diesem Punkt (= j), während der Wert stdata(n).flag ein Kennbit OR SEL ist, das den Auszug als Merkmalpunkt anzeigt.
Falls an einem Punkt stdata(n) danach ein nachfolgend erläuterter Vorgang zum Formen und Vereinfachen ausgeführt wird, wird der Inhalt stackp(j) erneuert bzw. fortgeschrieben. Ferner kann zum Widerspiegeln bzw. Übertragen des Inhalts der Merkmalpunkte auf den Inhalt der Punktinformation beispielsweise bei der Beendigung der Aufbereitung der Inhalt von stackp(cstcnt) auf stdata(stackp(cstcnt).prno) eingestellt werden.
Die Fig. 10 ist ein Ablaufdiagramm für das Bestimmen eines Abschnitts zum Ausführen eines gewählten Funktionsvorgangs aus dem Merkmalpunkte-Speicher M 2.
Bei einem Schritt 1 wird eine Anfangseinstellung dadurch vorgenommen, daß als Variable pos der mittels der Zeigervorrichtung an einer Stelle der Sichtanzeige gewählte Koordinatenwert eingesetzt wird, als Steuervariable st no für die Steuerung der Aufeinanderfolge der Anordnung von zu untersuchenden Merkmalpunkten "0" eingesetzt wird, als Variable min zur Angabe des Abstands zwischen pos und einer Zielkoordinate, für die der Abschnitt zu bestimmen ist, ein ausreichend hoher Wert "10000" eingesetzt wird und als Variable no zur Angabe der Ordnungszahl des am Ende des Programmablaufs einzusetzenden Merkmalpunkts ein Anfangswert "-1" eingesetzt wird, um einen Fehlerwert zu erhalten, wenn ein angestrebter Merkmalpunkt bei dem gegenwärtigen Programmablauf nicht erreicht wird.
Bei einem Schritt 2 wird durch Vergleich mit der Anzahl cstcnt der Elemente der Anordnung der Merkmalpunkte die Fertigstellung der Anordnung der gerade untersuchten Merkmalpunkte ermittelt.
Bei einem Schritt 3 wird als Variable o no die Ordnungszahl der Punkteinformation in der Anordnung der Merkmalpunkte eingesetzt.
Bei einem Schritt 4 wird ermittelt, ob die Zielpunktkoordinaten als Merkmalpunkt herausgegriffen wurden; wenn dies nicht der Fall ist, wird der Programmablauf beendet, da er ungeeignet ist.
Bei einem Schritt 5 wird ermittelt, ob die Zielpunktkoordinaten schon gelöscht worden sind; wenn dies der Fall ist, schreitet das Programm zu einem nachfolgend erläuterten Schritt 11 weiter.
Bei Schritten 6 und 7 wird eine Funktion EXTENT überprüft, um durch Vergleichen der Abstände der Komponenten zu ermitteln, ob die Koordinaten (x, y) der gegenwärtigen Koordinaten stackp(st no).pos und pos in dem das Zeichenmuster an der Anzeige bildenden Koordinatensystem enthalten sind. Wenn das Ergebnis "FALSCH" (= 0) ist, was die Lage außerhalb anzeigt, bzw. "RICHTIG" (= 1) ist, was die Lage innerhalb des Koordinatensystems anzeigt, schreitet das Programm jeweils zu dem nachfolgend erläuterten Schritt 11 bzw. zu einem nachfolgenden Schritt weiter.
Bei einem Schritt 8 wird der Abstand zwischen den Vergleichskoordinaten stackp(st no).pos in der Anordnung der Merkmalpunkte und den Koordinaten pos berechnet und als Variable dist eingesetzt.
Bei einem Schritt 9 wird die Variable min mit der bei dem Schritt 8 erhaltenen Variablen dist verglichen. Falls dist kleiner als min ist, werden bei einem Schritt 10 die Substitutionen min = dist und no = st no vorgenommen. Auf diese Weise zeigt die Variable no die Ordnungszahl des Merkmalpunkts für das Bestimmen des Abschnitts an dieser Stelle an.
Bei dem Schritt 11 wird die Steuervariable st no um "1" erhöht, wonach das Programm zu dem Schritt 2 zurückkehrt, bis bei dem Schritt 2 die Fertigstellung der Anordnung der Merkmalpunkte ermittelt wird.
Wenn nach Fig. 9 die Funktion 3 eingegeben wird, wird der Funktionsausführungsteil C 5 zur Ausführung des Löschens bzw. Weglassen eines Abschnitts in Betrieb gesetzt.
Die Fig. 11 zeigt eine Anordnung für das Wiedergeben bzw. Übertragen eines gewählten Funktionsvorgangs auf die Gruppe der die Umrißlinie darstellenden Punktekoordinaten und die Gruppe der hiermit in Wechselbeziehung stehenden Merkmalpunkte.
Anhand der Fig. 11 wird der Vorgang des Löschens eines Abschnitts erläutert.
Aus den Daten von stdata(n) bis stdata(n + m) werden gemäß der Erläuterung nach Fig. 6 Merkmalpunkte stdata(n + a), stdata(n + b), stdata(n + c) und stdata(n + d) herausgegriffen. Das Herausgreifen kann in einer beliebigen Aufeinanderfolge vorgenommen werden, jedoch sei zur Vereinfachung der Fall betrachtet, daß die Variable cstcnt unmittelbar vor dem Herausgreifen der vier Merkmalpunkte gleich "j" ist und daß die vier Punkte in der Aufeinanderfolge n + a, n + b, n + c und n + d herausgegriffen werden. Beispielsweise werden das Herausgreifen der Punktekoordinaten stdata(n + a) und die Korrelation mit der Merkmalpunktinformation stackp(j) auf die schon im Zusammenhang mit Fig. 8 erläuterte Weise ausgeführt. Danach wird die Variable cstcnt um "1" erhöht, wonach die Punktekoordinaten stdata(n + b), (n + c) und (n + d) herausgezogen werden. Nach diesen Vorgängen wird als Variable cstcnt ein Wert "j + 4" eingesetzt.
Dann wird mit der Zeigervorrichtung 12 ein beliebiger Punkt nahe einer die Punkte n + a und n + b verbindenden Linie gewählt und nach dem anhand der Fig. 10 erläuterten Verfahren zur Ausführung des gewählten Funktionsvorgangs ein Abschnitt zwischen dem vorangehenden Merkmalpunkt stdata(n + a) und dem nachfolgenden Merkmalpunkt stdata(n + b) in der Folge der Punkteinformationen bestimmt.
Wenn der Abschnitt bestimmt ist, werden alle die Koordinatenpunkte von stdata(n + a) bis stdata(n + b) verbindenden Linien gelöscht und es wird neu eine Linie angezeigt, die die Koordinatenpunkte stdata(n + a).pos und stdata(n + b).pos verbindet. Dieser Vorgang kann auf die Gruppe stdata von Punktekoordinaten und die Gruppe stackp von Merkmalpunkten in folgenden zwei Schritten übertragen werden: Als erster Schritt wird als Kennung stackp(j).flag der dem Punkt stdata(n + a) entsprechenden Anordnung von Merkmalpunkten eine Abschnittslöschungs-Anfangskennung ST SDEL eingesetzt und als Kennung stackp(j + 1).flag der dem Punkt stdata(n + b) entsprechenden Anordnung von Merkmalpunkten eine Abschnittslöschung-Endkennung ST EDEL eingesetzt. Wenn dann ein neuer Abschnitt mittels der Zeigervorrichtung 12 neu bestimmt wird oder mittels einer Funktionstaste ein anderer Befehl gewählt wird, werden bei dem zweiten Schritt gemäß der Darstellung in Fig. 12 die Abschnittslöschungs-Anfangskennung ST SDEL aus der Kennung stackp(j).flag und die Abschnittslöschung-Endkennung ST EDEL aus der Kennung stackp(j + 1).flag gestrichen. Ferner wird als Kennungen von stdata(n + a +1) bis stdata(n + b - 1) eine Löschkennung OR DEL eingesetzt. Ein solcher zweistufiger Funktionsvorgang wird angewandt, damit eine Rückkehr ermöglicht ist, wenn die Bedienungsperson bei der Abschnittsbestimmung einen Fehler macht, und der Betriebsvorgang bis zu dem Einleiten eines nächsten Vorgangs reversibel ist. Ferner kann der Abschnittslöschbefehl in Aufeinanderfolge gewählt werden, bis ein neuer anderer Befehl gewählt wird, und der vorangehend erläuterte Prozeß kann wiederholt werden, wenn mittels der Zeigervorrichtung 12 ein anderer Abschnitt wie beispielsweise von stdata(n + b) bis stdata(n + c) oder von stdata(n + c) bis stdata(n + d) bestimmt wird.
Wenn nach Fig. 9 die Funktion 6 eingegeben wird, wird der Funktionsausführungsteil C 5 zur Ausführung eines Ausrichtungsvorgangs in einem gewählten Abschnitt in Betrieb gesetzt.
Die Fig. 14 und 15 zeigen eine Anordnung für das Ersetzen der Koordinaten eines bestimmten Merkmalpunkts durch Bezugskoordinatenkomponenten und für das Weglassen der Gruppe aller Punktekoordinaten in dem gewählten Abschnitt.
Im folgenden wird als Beispiel in bezug auf Punkte A, B, C, . . ., L nach Fig. 14 das Ausgeben von Abschnitten AB, CD und KL als horizontale Linien einer bestimmten Stärke und von Abschnitten DE, FG, HI und JK als vertikale Linien einer bestimmten Stärke, das darauffolgende Ausrichten der Abschnitte AB, CD und KL auf beliebige y-Koordinaten, das Löschen der Punkte an den Umrißlinien in diesen Abschnitten, das Ausrichten der Abschnitte DE, FG, HI und JK auf beliebige x-Koordinaten und das Löschen der Punkte an den Umrißlinien in diesen Abschnitten beschrieben.
Aus den Daten von stdata(n) bis stdata(n + m) werden nach dem anhand der Fig. 6 erläuterten Verfahren beispielsweise ein Punkt stdata(n + a) nahe dem Punkt A, ein Punkt stdata(n + b) nahe dem Punkte B, . . ., und ein Punkt stdata(n + 1) nahe dem Punkte L herausgegriffen. Das Herausgreifen kann in einer beliebigen Aufeinanderfolge erfolgen, jedoch sei zur Vereinfachung der Erläuterung der Fall angenommen, daß die Variable cstcnt vor dem Herausgreifen der zwölf Punkte "j" ist und daß die zwölf Punkte in der Aufeinanderfolge n + a, n + b, . . ., n + 1 herausgegriffen werden. Beispielsweise können das Herausgreifen des Koordinatenpunkts stdata(n + a) und die Korrelation mit der Merkmalpunktinformation stackp(j) auf die schon anhand der Fig. 8 erläuterten Weise vorgenommen werden. Nach diesem Prozeß wird die Variable cstcnt um "1" erhöht, so daß nach dem Herausgreifen der Koordinatenpunkte stdata(n + b), . . ., stdata(n + 1) als Variable cstcnt der Wert j + 12 eingesetzt ist. Bei diesem Zustand wird mittels der Zeigervorrichtung 12 oder der Tastatur 11 die Funktion 6 für den Ausrichtungsbefehl eingegeben, wodurch die als Cursor dienende Pfeilzeigermarke an der Anzeige in eine Fadenkreuzmarke geändert wird. Wenn dann mittels dieser Zeigermarke ein beliebiger Punkt beispielsweise nahe dem Abschnitt AB gewählt wird, wird nach dem in Fig. 10 dargestellten Verfahren in der Folge der Punkteinformationen ein Abschnitt von dem vorangehenden Merkmalpunkt stdata(n + a) bis zu dem nachfolgenden Merkmalpunkt stdata(n + b) bestimmt.
Bei diesem Prozeß wird jedoch die abzuwandelnde Koordinatenkomponente auf folgende Weise festgelegt: Wenn die Lage der in Fig. 16 gezeigten Fadenkreuzmarke als Bezugskoordinate festgelegt wird und für die Ausführung des gewählten Funktionsvorgangs der Abschnitt zwischen Punkten P 1 und P 2 bestimmt ist, werden Berechnungen slp = (P 1.pos.y - P 2.pos.y)/ (P 1.pos.x - P 2.pos.x) und slp = slp * slp ausgeführt. Ein Wert slp von 0,25 oder weniger wird als Ausrichtung von y- Koordinaten bewertet, während ein anderer Wert als Ausrichtung von x-Koordinaten bewertet wird. Infolgedessen werden die Punkte P 1 und P 2 auf eine x-Koordinate P 1′, P 2′ ausgefluchtet. In einem Schrägabschnitt, bei dem der Wert slp 0,25 übersteigt, jedoch nicht über 4 liegt, wird jedoch durch diesen Befehl kein Vorgang ausgeführt, da weder die x-Ausrichtung noch die y-Ausrichtung erkannt werden kann.
Wenn auf diese Weise ein Abschnitt zwischen stdata(n + a) und stdata(n + b) nach Fig. 14 bestimmt ist, werden die Berechnungen slp = (stdata(n + a).pos.y - stdata(n + b).pos.y)/(stdata (n + a).pos.x - stdata(n + b).pos.x) und slp = slp * slp ausgeführt und es wird die Ausrichtung auf eine y-Koordinate vorgenommen, da der Wert slp leicht als kleiner als 0,25 zu erkennen ist. Dieser Ausrichtungsvorgang besteht aus der Abschnittslöschung und der Punkteversetzung gemäß der Erläuterung anhand der Fig. 11 und 12. Daher wird bei der Abschnittslöschung von stdata(n + a + 1) bis stdata(n + b - 1) als Kennung stackp(j).flag die Abschnittslöschung-Anfangskennung ST SDEL und als Kennung stackp(j + 1).flag die Abschnittslöschung-Endkennung ST EDEL eingesetzt. Falls dann der Wert stdata(n + a).pos.y der zu verändernden Koordinatenkomponente von dem Wert pos.y der Bezugskoordinatenkomponente verschieden ist, wird als Kennung stackp(j).flag eine Punktversetzungskennung ST MOV eingesetzt und zur Anzeige der Bewegung eines Punkts als stackp(j).pos die Bezugskoordinatenkomponente pos eingesetzt, wenn der Inhalt der Anordnung der Merkmalpunkte in die Anordnung der Punkteinformationen übertragen wird. Diese Punktversetzung wird auf gleichartige Weise auch für stdata(n + b) ausgeführt.
Dieser Befehl kann in Aufeinanderfolge gewählt werden, bis eine andere Funktion gewählt wird. Daher wird der Inhalt der Anordnung der Merkmalpunkte auf die Anordnung der Punkteinformationen übertragen, wenn der nächste Abschnitt bestimmt wird oder wenn die andere Funktion eingegeben wird. Dieser Vorgang ist der anhand der Fig. 11 und 12 erläuterten Abschnittslöschung gleichartig. Bei der Punktversetzung wird jedoch als Wert stdata(n + a).pos der Wert stackp(j).pos eingesetzt und aus der Kennung stackp(j).flag die Punktversetzungskennung ST MOV gestrichen. Die Fig. 15 zeigt das Übertragungsergebnis.
Selbst wenn die Bezugskoordinate durch die Fadenkreuzmarke festgelegt ist, können Feineinstellungen durch Bewegen eines Bildpunkts in vertikaler und horizontaler Richtung unter Verwendung von Pfeiltasten an der Tastatur 11 vorgenommen werden. In diesem Fall wird das Ausmaß der Versetzung der Zeigermarke von der Bezugsstelle an einer vorbestimmten Stelle der Sichtanzeige angezeigt. Es ist daher möglich, mittels der Pfeiltasten die Dicke des geraden Teils des Zeichenmusters dadurch zu bestimmen, daß der Abschnitt AB nach der Ausrichtung zu dem Abschnitt CD versetzt wird, so daß auf diese Weise stdata(n + c).pos.y - stdata(n + b). pos.y berechnet wird. Auf diese Weise ist es möglich, bei der Ausrichtung anderer Linien eine gleichförmige Stärke zu erhalten.
Die vorstehend beschriebenen Betriebsvorgänge können auf gleichartige Weise an den anderen Abschnitten als dem Abschnitt AB angewandt werden.
Wenn nach Fig. 9 die Funktion 10 eingegeben wird, wählt der Anzeigewählteil C 3 die Anzeige der gerade aufbereiteten Vektoren mittels des zweiten Sichtanzeigeteils C 8.
Die Fig. 13 ist ein Ablaufdiagramm, das die Funktion des Anzeigeteils für die Sichtanzeige der Gruppe der die Umrißlinie darstellenden Punktekoordinaten und der Gruppe der hiermit in Wechselbeziehung stehenden charakteristischen bzw. Merkmalpunkte in Darstellung durch gerade Linien veranschaulicht.
Bei einem Schritt 1 wird als Steuervariable poly no für die Steuerung der Aufeinanderfolge der Anzeige der Umrißlinien ein Anfangswert "0" eingesetzt.
Bei einem Schritt 2 wird die Fertigstellung der in Fig. 4(d) gezeigten Umrißlinieninformation ermittelt; falls die Information abgearbeitet ist, wird die Sichtanzeige beendet.
Bei Schritten 3 und 4 wird eine Anfangseinstellung an dem Anfangspunkt einer jeweiligen Umrißlinie dadurch herbeigeführt, daß als Variable st no die Ordnungszahl des Anfangspunkts der Umrißlinie in der Anordnung von Punkteinformationen eingesetzt wird und als Variable pos e die Koordinaten des Anfangspunkts eingesetzt werden.
Bei Schritten 5 und 6 werden als Variable cur no der Wert stdata(st no).nxno als Ordnungszahl der Punktinformation und als Variable p no der Wert stdata(cur no).stno als Ordnungszahl der Merkmalpunkte eingesetzt, um bei einem Schritt 7 zu ermitteln, ob die eine Linie darstellenden Punktekoordinaten gelöscht worden sind.
Falls bei dem Schritt 7 diese Ermittlung ausgeführt und aus dem Setzen einer Löschkennung OR DEL oder ST DEL erkannt wird, daß die Punktekoordinaten gelöscht worden sind, kehrt das Programm zu dem Schritt 5 zurück. Falls die Koordinaten nicht gelöscht worden sind, wird bei einem Schritt 8 ein Linienanzeige-Anfangspunkt pos s als Parameter einer Linienanzeigefunktion LINE eingesetzt, die bei einem Schritt 12 genutzt wird. In dieser Funktion LINE(VO,pos s, pos e) bestimmt der Wert VO das Ziel einschließlich der Adresse eines Zeichenspeichers (beispielsweise in dem Video-Arbeitsspeicher 13 nach Fig. 1-1), während die Werte pos s und pos e die Koordinaten (x, y) in dem Zeichenspeicher angeben.
Bei einem Schritt 9 wird ermittelt, ob der Linienanzeige- Endpunkt als charakteristischer bzw. Merkmalpunkt herausgegriffen wurde; wenn dies der Fall ist, wird bei einem Schritt 11 als Variable pos e der Wert stackp(p no). pos eingesetzt, während andernfalls bei einem Schritt 10 stdata(cur no). pos eingesetzt wird.
Bei dem Schritt 12 wird unter Verwendung der auf diese Weise erhaltenen Werte pos s und pos e eine Linie angezeigt.
Bei einem Schritt 13 wird durch das Erkennen des Endes der angezeigten Umrißlinie eine Wiederholungssteuerung ausgeführt. Wenn die Umrißlinie vollständig ist, wird bei einem Schritt 14 die Steuervariable poly no um "1" erhöht, wonach das Programm zu dem Schritt 2 zurückkehrt; falls jedoch die Umrißlinie noch weiter fortgesetzt ist, kehrt das Programm zu dem Schritt 5 zurück.
Wenn nach Fig. 9 die Funktion 9 oder 10 eingegeben wird, wird der Anzeigewählteil C 3 in Betrieb gesetzt, um für die Funktion 9 die Anzeige des ursprünglichen Bilds mittels des ersten Sichtanzeigeteils C 7 oder für die Funktion 10 die Vektoranzeige des gerade aufbereiteten Bildmusters mittels des zweiten Sichtanzeigeteils C 8 zu wählen.
Mit dem ersten Sichtanzeigeteil C 7 wird gemäß einem Ablaufdiagramm, das gleich dem in Fig. 5 dargestellten ist, die Sichtanzeige der Information aus dem Punktekoordinaten-Speicher M 1 im Anzeigespeicher VO herbeigeführt. Ferner wird von dem zweiten Sichtanzeigeteil C 8 die Sichtanzeige der Information aus dem Merkmalpunkt-Speicher M 2 in dem Sichtanzeige- Speicher V 1 entsprechend einem Ablaufdiagramm herbeigeführt, das gleich dem in Fig. 13 gezeigten ist.
Weiterhin wird von dem Anzeigewählteil C 3 der Video-Arbeitsspeicher 13 derart geschaltet, daß unabhängig voneinander gewählt werden kann, ob das ursprüngliche Bildmuster angezeigt wird oder nicht und ob das gerade aufbereitete Vektorbild angezeigt wird oder nicht.
Dieser Befehl ermöglicht den einfachen Vergleich des gerade aufbereiteten Musters mit dem ursprünglichen Muster, was es ermöglicht, das Zeichen bzw. das grafische Muster für die Ausgabe in eine Form aufzubereiten, die der Form des ursprünglichen Musters nahe kommt.
Weitere Ausführungsbeispiele
Hinsichtlich des als Bildeingabeeinheit 7 nach Fig. 1-1 verwendeten Vorlagenlesers besteht keine Einschränkung, solange damit das ursprüngliche analoge Bildmuster in digitale Form umgesetzt werden kann. Ferner werden bei dem vorstehend beschriebenen Ausführungsbeispiel die Punktekoordinaten auf der Umrißlinie aus einem Bildmuster herausgegriffen, das durch den Bildeingabeleser der Analog/Digital-Umsetzung unterzogen ist, jedoch können auch Binärbilddaten herangezogen werden, die ursprünglich aus digitalen Daten gebildet sind. Im einzelnen kann die vorangehend beschriebene Aufbereitung an einem Muster angewandt werden, das unter Nutzung der Digitalmuster- Ausgabeaufbereitungsfunktion einer Arbeitsstation oder einer die beschriebene Systemeinrichtung bildenden Einrichtung bereitgestellt wird.
Hinsichtlich des Anzeigespeichers 13 und des Sichtgeräts 10 besteht keine Einschränkung auf einen Video-Arbeitsspeicher bzw. ein Binärbild-Sichtgerät. Beispielsweise kann ein auf Befehle ansprechendes Rasterabtastungs-Sichtgerät oder ein Speichersichtgerät verwendet werden, das nicht mit einem Video-Arbeitsspeicher ausgestattet ist. Die Zeigervorrichtung kann durch einen Lichtgriffel gebildet sein oder auch weggelassen werden, falls sie durch die Tastatur ersetzt werden kann. Die Bithandhabungseinheit 15 muß nicht eine besondere Schaltungseinrichtung sein, sondern kann durch eine nach einem Programm gesteuerte Speicherübertragungseinrichtung gebildet sein. Gemäß den vorangehenden Erläuterungen sind die Komponenten bei dem vorstehend beschriebenen Ausführungsbeispiel größtenteils für das Erreichen eines Hochgeschwindigkeits- Betriebs in dem beschriebenen System ausgelegt; sie können auch durch preisgünstigere Einrichtungen ersetzt oder gänzlich weggelassen werden.
Gemäß den vorangehenden Erläuterungen ermöglicht es das beschriebene Zeichenaufbereitungssystem, die Ränder eines ursprünglichen Musters durch Herausgreifen des "Innenrands" als Grenze des Bildbereichs des Musters zu erhalten, ohne daß dabei das Verhältnis des Bildbereichs zu dem bildfreien Bereich des ursprünglichen Musters verändert wird, und zwar dadurch, daß das logische Produkt aus dem ursprünglichen Muster und invertierten Mustern aus Mustern gebildet wird, welche durch das Versetzen des ursprünglichen Musters um einen Bildpunkt in vertikaler und horizontaler Richtung erhalten werden.
Weiterhin geht aus den vorstehenden Ausführungen hervor, daß das beschriebene Zeichenaufbereitungssystem die Sichtanzeige nicht nur der gerade aufbereiteten Daten, sondern auch der ursprünglichen Daten erlaubt, wodurch die Bedienungsperson die Wiedergabetreue der gerade aufbereiteten Daten in bezug auf die ursprünglichen Daten feststellen kann und die Wirtschaftlichkeit bzw. Leistungsfähigkeit der Ausgabeaufbereitung verbessert ist.
Ferner ergibt die Erfindung ein Zeichenaufbereitungssystem mit einer Speichereinrichtung für das Speichern einer Gruppe von die Umrißlinie repräsentierenden Punktekoordinaten, einer Anzeigeeinrichtung zur Sichtanzeige der Gruppe von Punktekoordinaten, einer Auszugseinrichtung für das Herausgreifen mehrerer markanter bzw. charakteristischer Merkmalpunkte aus der Gruppe von Punktekoordinaten und einer Einrichtung für die Korrelation der Gruppe von die Umrißlinie darstellenden Punktekoordinaten mit der Gruppe von Merkmaldaten.
Weiterhin ergibt die Erfindung ein Zeichenaufbereitungssystem, bei dem nicht die Punktekoordinatenwerte an der Umrißlinie mit begrenzter Genauigkeit herangezogen werden, sondern die Verbindung der Punkte bzw. die Form der Umrißlinie, wodurch es ermöglicht ist, eine Endaufbereitung sofort nach der automatischen Bildmustereingabe und der Analog/Digital- Umsetzung zu beginnen.
Mit einem Zeichenaufbereitungssystem wird die innere Umrißlinie eines Bildmusters ohne Veränderung des Verhältnisses des Bildbereichs zu dem bildfreien Bereich im ursprünglichen Bild dadurch erhalten, daß die logischen Produkte aus dem ursprünglichen Bildmuster und invertierten Bildmustern gebildet werden, welche durch das Bewegen des ursprünglichen Bildmusters um eine kleine Strecke in seitlicher und vertikaler Richtung erhalten werden.

Claims (6)

1. Zeichenaufbereitungssystem, gekennzeichnet durch eine Speichereinrichtung (14) zum Speichern eines aus Bildpunktedaten zusammengesetzten Bildmusters, eine erste UND-Einrichtung zum Bilden des logischen Produkts aus dem in der Speichereinrichtung gespeicherten Bildmuster und einem invertierten Bildmuster, das aus einem Bildmuster gebildet ist, welches durch Versetzen des ersteren Bildmusters um einen Bildpunkt nach oben erzielt ist, eine zweite UND-Einrichtung zum Bilden des logischen Produkts aus dem in der Speichereinrichtung gespeicherten Bildmuster und einem invertierten Bildmuster, das aus einem Bildmuster gebildet ist, welches durch Versetzen des ersteren Bildmusters um einen Bildpunkt nach unten erzielt ist, eine dritte UND-Einrichtung zum Bilden des logischen Produkts aus dem in der Speichereinrichtung gespeicherten Bildmuster und einem invertierten Bildmuster, das aus einem Bildmuster gebildet ist, welches durch Versetzen des ersteren Bildmusters um einen Bildpunkt nach rechts erzielt ist, eine vierte UND-Einrichtung zum Bilden des logischen Produkts aus dem in der Speichereinrichtung gespeicherten Bildmuster und einem invertierten Bildmuster, das aus einem Bildmuster gebildet ist, welches durch Versetzen des ersteren Bildmusters um einen Bildpunkt nach links erzielt ist, und eine ODER-Einrichtung zum Bilden der logischen Summe aus den mittels der ersten, der zweiten, der dritten und der vierten UND-Einrichtung erhaltenen Bildmustern.
2. Zeichenaufbereitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß das Bildmuster mindestens ein grafisches Muster mit einer Breite von zwei oder mehr Bildpunkten enthält.
3. Zeichenaufbereitungssystem, gekennzeichnet durch eine Auszugseinrichtung (14, C 2) zum Herausgreifen mehrerer Merkmalpunkte aus einer Gruppe von ursprünglichen Punktekoordinaten und zum Speichern der Merkmalpunkte als eine Gruppe, eine Bestimmungseinrichtung (11, 12) zum Bestimmen eines Abschnitts für einen Aufbereitungsvorgang aus der Gruppe der Merkmalpunkte, eine Übertragseinrichtung zum Übertragen des Aufbereitungsvorgangs auf die Gruppe von Punktekoordinaten, die eine Umrißlinie darstellen, gemäß den mittels der Bestimmungseinrichtung bestimmten Merkmalpunkten und eine Anzeigeeinrichtung (10, 13) zur Sichtanzeige der Gruppe ursprünglicher Punktekoordinaten und/oder der Gruppe von Punktekoordinaten, die der Aufbereitung in einem mittels der Übertragseinrichtung übertragenen Aufbereitungsvorgang zu unterziehen sind.
4. Zeichenaufbereitungssystem nach Anspruch 3, dadurch gekennzeichnet, daß der Aufbereitungsvorgang das Löschen von Punkten in einem mittels der Bestimmungseinrichtung (11, 12) bestimmten Abschnitt umfaßt.
5. Zeichenaufbereitungssystem, gekennzeichnet durch eine Speichereinrichtung (C 1, M 1) zum Speichern einer Gruppe von Punktekoordinaten, die eine Umrißlinie darstellen, eine Sichtanzeigeeinrichtung (10) zur Sichtanzeige der Gruppe von Punktekoordinaten, eine Auszugseinrichtung (C 2) zum Herausgreifen mehrerer Merkmalpunkte aus der Gruppe von Punktekoordinaten und eine Einrichtung, die die Gruppe von Punktekoordinaten, die die Umrißlinie darstellen, mit der Gruppe von Merkmalpunkten in Wechselbeziehung setzt.
6. Zeichenaufbereitungssystem nach Anspruch 5, dadurch gekennzeichnet, daß die Anzeigeeinrichtung (10) nur die mittels der Auszugseinrichtung (C 2) herausgegriffenen Punkte anzeigt.
DE3830990A 1987-09-13 1988-09-12 Zeichenaufbereitungssystem Granted DE3830990A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE3844735A DE3844735C2 (de) 1987-09-13 1988-09-12 Zeichenaufbereitungssystem
DE3844832A DE3844832C2 (de) 1987-09-13 1988-09-12 Zeichenaufbereitungsvorrichtung

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP62228713A JP2667834B2 (ja) 1987-09-13 1987-09-13 図形編集装置及び方法
JP62228711A JPH0747328B2 (ja) 1987-09-13 1987-09-13 図形編集方法
JP62228712A JP2667833B2 (ja) 1987-09-13 1987-09-13 図形編集装置及び方法

Publications (2)

Publication Number Publication Date
DE3830990A1 true DE3830990A1 (de) 1989-03-30
DE3830990C2 DE3830990C2 (de) 1993-06-24

Family

ID=27331426

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3830990A Granted DE3830990A1 (de) 1987-09-13 1988-09-12 Zeichenaufbereitungssystem

Country Status (2)

Country Link
US (1) US5073957A (de)
DE (1) DE3830990A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1258006B (it) * 1992-01-13 1996-02-20 Gd Spa Sistema e metodo per il prelievo automatico di oggetti
US5434959A (en) * 1992-02-11 1995-07-18 Macromedia, Inc. System and method of generating variable width lines within a graphics system
US5483606A (en) * 1994-01-03 1996-01-09 Xerox Corporation Method for automatically registering a document having a plurality of pages
US8121338B2 (en) * 2004-07-07 2012-02-21 Directsmile Gmbh Process for generating images with realistic text insertion

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4442542A (en) * 1982-01-29 1984-04-10 Sperry Corporation Preprocessing circuitry apparatus for digital data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4618990A (en) * 1984-11-15 1986-10-21 General Electric Company Edge enhancement filtering for digital fluorography images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4442542A (en) * 1982-01-29 1984-04-10 Sperry Corporation Preprocessing circuitry apparatus for digital data

Also Published As

Publication number Publication date
DE3830990C2 (de) 1993-06-24
US5073957A (en) 1991-12-17

Similar Documents

Publication Publication Date Title
DE69231923T2 (de) System mit Annäherungsmittel zur Erkennung von graphischen Elementen in einer Zeichnung
DE3688178T2 (de) Verfahren zur Bildextraktion eines sich bewegenden Objekts.
DE69232493T2 (de) Verfahren und Gerät zur Zeichenerkennung
DE2801536C2 (de) Zeichenformkodiervorrichtung
DE69332286T2 (de) Verfahren und Vorrichtung zur Verarbeitung von Farbbildern
DE69129342T2 (de) Verfahren und Gerät zum Herausziehen von Bildranddaten
EP0425595B1 (de) Verfahren und anordnung zur automatischen optischen klassifikation von pflanzen
DE3633743C2 (de)
DE69230282T2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE3722444C2 (de) Verfahren und Vorrichtung zum Erzeugen von Entwurfsmusterdaten
DE3587738T2 (de) Sich selbst regelndes Beobachtungssystem.
DE3806223A1 (de) Verfahren zur erzeugung eines zeichenabbilds
DE3111027A1 (de) Verfahren und vorrichtung zur positionsabtastung eines objektes
DE69028337T2 (de) Zeichenerkennungsanlage
DE3615906A1 (de) Bildinformationserkennungsgeraet
DE2752421A1 (de) Anordnung fuer die abtastung und digitalisierung von grafischen darstellungen oder daten
EP0301384B1 (de) Schaltungsanordnung zur Aufbereitung von schrägstehenden, insbesondere handgeschriebenen Zeichen
DE3855225T2 (de) Datenbanksystem für Bildkomposition
DE69033757T2 (de) Gerät und Verfahren zum bearbeiten von Zeichen
DE3811396C2 (de)
DE4002031C2 (de) Verfahren und Vorrichtung zum Erstellen von Nähdaten für eine Nähmaschine
DE69033105T2 (de) Verfahren und Gerät zur graphischen Verarbeitung
DE69130655T2 (de) Verfahren und Gerät zur Bildverarbeitung
DE69219647T2 (de) Verfahren und Vorrichtung zum Einfärben einer Bildfläche
DE3511749C2 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3844735

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3844735

8128 New person/name/address of the agent

Representative=s name: TIEDTKE, H., DIPL.-ING. BUEHLING, G., DIPL.-CHEM.

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3844832

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3844832

AH Division in

Ref country code: DE

Ref document number: 3844832

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3844735

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
AH Division in

Ref country code: DE

Ref document number: 3844735

Format of ref document f/p: P

AH Division in

Ref country code: DE

Ref document number: 3844832

Format of ref document f/p: P