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.