-
Die vorliegende Erfindung betrifft das Gebiet der Behandlung
von Bildern, die durch Elementarpunkte, d.i. Pixel, definiert
sind, die jeweils ein durch den digitalen Wert einer Funktion
definiertes Merkmal, wie z. B. Helligkeit, darstellen. Sie
betrifft insbesondere eine Vorrichtung zur sequentiellen
Bildumwandlung, die einen Abfragemodus für das ganze Bild oder
einen Teil desselben ermöglicht, nach welchem man den Wert
jedes einzelnen Punkts in Abhängigkeit von einem Satz
zugeordneter Punkte modifiziert, indem man ihre Werte in einem
oder mehreren Bildern nimmt, die innerhalb eines linearen
Fensters oder Oberflächenfensters gleitend angeordnet sind,
verbunden mit dem umzuwandelnden Punkt, identisch für alle
Pixel und der das Strukturelement bildet. Sie läßt sich auf
allen Gebieten der Bildanalyse und insbesondere in der
Formenerkennung und der Darstellung bei
Industrieerzeugnissen, insbesondere in der Robotik, anwenden.
-
Sequentielle Bildumwandlungen sind schon seit langer Zeit
bekannt. Man findet z. B. eine Beschreibung im Artikel von A.
Rosenfeld et al. "Sequential operations in digital picture
processing", J. ACM, Bd. 13, Nr. 4, 1966 S. 471-494.
-
Um das Verständnis der Erfindung zu erleichtern, muß man
zunächst die sequentiellen Umwandlungen definieren und die
dafür verwendete Terminologie kennen, die auf dem Gebiet der
digitalen Bildbehandlung laufend angewandt wird.
-
Ein digitalisiertes Bild besteht aus einer Pixelmatrix aus m
Zeilen und n Spalten. Jedes Pixel nimmt einen Wert aij an,
der einer endlichen Wertefamilie v&sub1; . . . . . vk angehört. In der
Praxis nimmt man im allgemeinen k = 2s an, wobei s eine
Ganzzahl ist (was bedeutet, daß man jeden Wert durch eine Anzahl
von s Bits darstellt und daß man 2s Quantifizierungsebenen
zur Verfügung hat).
-
Man definiert die Pixel, die im Umfeld jedes gegebenen Pixels
liegen, durch einen Nachbarschaftsgraphen, von dem später
noch Beispiele gezeigt werden, und der sich natürlich
unterscheidet, je nachdem, ob das angewandte Raster quadratisch
oder hexagonal ist und ob man den Begriff Umfeld mehr oder
weniger weit faßt.
-
Eine Operation auf ein digitalisiertes Bild besteht aus einer
Funktion, die die Bildmatrix in eine andere Matrix umwandelt.
Die allgemeinste Funktion dieses Typs hat somit m · n
Argumente, wenn jedes Pixel ein Argument darstellt und wenn die
Matrix m Zeilen und n Spalten aufweist. Man kann die Anzahl
der Argumente reduzieren durch Durchführen sogenannter
"örtlicher" oder "Nachbarschafts"-Operationen. Eine
Umfeldumwandlung definiert den Wert des umgewandelten Pixels in
Abhängigkeit ausschließlich vom Wert des ursprünglichen
Pixels und der Werte der zugeordneten Pixel, die in einer
konstanten Anordnung um das betrachtete Pixel herum genommen
werden. Dieses konstante Anordnung bildet ein Gleitfenster,
das mit dem umzuwandelnden Punkt verbunden ist. Die Punkte
können ihren Wert in einem oder mehreren Bildern annehmen.
Dieser Wert kann der Wert der Punkte sein, bevor die
Transformation eingeleitet wird: Es handelt sich in diesem Fall um
eine Paralleltransformation. Das konstituierende Element
besteht nicht gezwungenermaßen aus den unmittelbaren Nachbarn
des umzuwandelnden Punkts. Auch der Begriff der unmittelbaren
Nachbarn ist selbst definiert dank einem
Nachbarschaftsgraphen, deren verschiedene Typen jetzt untersucht werden
sollen.
-
Beispielsweise sollen jetzt hier die hauptsächlichsten
Nachbarschaftsgraphen gezeigt werden, denen man in der Praxis
begegnet.
Quadratisches Raster
-
Üblicherweise werden zwei Nachbarschaftsgraphen benutzt. Sie
entsprechen einer Viereranschlußfähigkeit bzw. einer
Achteranschlußfähigkeit.
-
Bei einer Viereranschlußfähigkeit weist jedes Pixel x vier
Nachbarn auf, x&sub1;, x&sub2;, x&sub3;, x&sub4;, die wie folgt verteilt sind:
-
Die Abstände d zwischen dem Pixel x und jedem der
benachbarten Pixel sind alle gleich.
-
Im Falle einer Achteranschlußfähigkeit hat jedes Pixel x acht
Nachbarn, x&sub1; . . . . . . .x&sub8;, und die Verteilung ist wie folgt:
-
x&sub4; x&sub3; x&sub2;
-
x&sub5; x x&sub1;
-
x&sub6; x&sub7; x&sub8;
-
In diesem Fall beträgt der Abstand zwischen:
-
- dem Pixel x einerseits und jedem der Pixel x&sub1;, x&sub3;, x&sub5;, x&sub7;
andererseits: d1 = 5,
-
- dem Pixel x einerseits und jedem der Pixel x&sub2;, x&sub4;, x&sub6;, x&sub8;
andererseits: d2 = 7.
-
Diese Abstände stehen im Verhältnis 7/5 = 1,4, d. h. wenig
abweichend von 2.
Sechseckraster
-
In diesem Fall kann man eine Sechser- oder
Zwölferanschlußfähigkeit anwenden.
-
Im ersten Fall hat jedes Pixel sechs Nachbarn, x&sub1; . . . . . . x&sub6;
jeweils im gleichen Abstand vom Pixel x:
-
Im Falle der Zwölferanschlußfähigkeit hat jedes Pixel zwölf
Nachbarn x&sub1; . . . . . . .x&sub1;&sub2;, die die folgende Verteilung aufweisen:
-
In diesem Fall sind die Abstände zwischen x und allen Punkten
mit ungeradem Index gleich und betragen d1 = 4, die Abstände
zwischen x und den Punkten mit geradem Index betragen d2 = 7.
-
Auf diese Weise ist das Verhältnis zwischen diesen beiden
Abständen 1,75, das ist nahe 3.
-
Bei der Beschreibung der Erfindung wird man sich aus Gründen
der Einfachheit damit begnügen, nur Beispiele zu bringen, die
bestimmten, besonders repräsentativen Anschlußfähigkeiten
entsprechen. Man wird jedoch sehen, daß die Erfindung in
allen Fällen auf unterschiedliche Raster und verschiedene
mögliche Anschlußfähigkeiten übertragbar ist.
-
Die Transformationen der Nachbarschaft werden auf
herkömmliche Weise durch Parallelbehandlung durchgeführt. Die
Transformation wird mit allen Bildpunkten durchgeführt, unabhängig
voneinander. Die Argumente (ai-1, j-1 . . . ai+1, j+1, . . . ), die
bei der Transformation des Pixels aij berücksichtigt werden,
sind immer die Werte der benachbarten Pixel im Originalbild.
Man speichert jeden neuen Pixelwert, d. h. den Wert a*ij für
das Pixel aij, aber kein transformiertes Pixel wird
verwendet, bevor die Transformation aller m · n Pixel
abgeschlossen ist.
-
Dieser Transformationsmodus zeigt hier einen Vorteil, der
bis heute den Fachmann veranlaßt hat, fast ausschließlich ihn
einzusetzen: Die zugrundeliegenden Algorithmen sind
begrifflich einfach und es ist leicht, eine Vorrichtung zu
realisieren, um sie nutzbar zu machen. Ferner ist das Ergebnis der
Transformation unabhängig von der Bildabtastung, was die
Anwendung der üblichen Abtastung der Bilder sowie herkömmliche
Adressengeneratoren zuläßt. Es wurde aber nicht voll erkannt,
daß jede Transformation für sich selbst genommen wenig
wirksam ist, und es sind im allgemeinen eine große Anzahl
aufeinanderfolgender Schritte erforderlich, um zu einem
Endergebnis zu kommen. Um höhere Geschwindigkeiten zu erreichen
muß die Anzahl der Prozessoren in einem Gerät vervielfacht
werden, was es komplex und sehr teuer macht.
-
Die sequentiellen Transformationen, die im bereits erwähnten
Artikel von Rosenfeld et al. beschrieben werden, weisen
hingegen das Merkmal auf, daß sie ein Ergebnis liefern, das vom
Modus und von der Richtung des Abtastens des Ausgangsbilds
abhängt. Wenn z. B. das digitale Ausgangsbild nach einer
herkömmlichen Videoabtastung, die "direkte Videoabtastung"
genannt wird, abgetastet wird, d. h. Zeile um Zeile, von links
nach rechts und von oben nach unten, ergibt eine sequentielle
Transformation aus dem Ausgangspixel aij das transformierte
Pixel a*ij:
-
a*i,j = f[(a*k)k ε P(i,j), aij, (ak)k ε F(i,j)] (1)
-
Im Klartext, jedesmal wenn ein Pixel transformiert wird, wird
sein neuer Wert, und nicht sein Wert im Ausgangsbild, als
Argument zur Transformation der nachfolgenden Punkte
verwendet, die ihn in ihrem Strukturelement enthalten.
-
Die Formel (1) entspricht der Abtastung im direkten
Videosinn. In dieser Formel ist (a*k)k ε P(i,j) die Familie
der Umfeldpunkte von aij, denen wir beim Abtasten des Bildes
vor dem Pixel aij bereits begegnet sind und dabei ihren neuen
Wert ermittelt haben.
-
Hingegen bezeichnet (ak)k ε F(i,j) die gesamte Familie Fij
der Nachbarschaftspunkte des Pixels aij, denen wir noch nicht
beim Abtasten des Bildes anläßlich der Behandlung des Pixels
aij begegnet sind.
-
Der Algorithmus, der der sequentiellen Transformation im
Sinne der umgekehrten Videoabtastung entspricht, d. h.
-
anm, am,n-1, . . . , am1,am-1,n, . . . , am-1,1, . . . , a2n, . . . , a&sub1;&sub2;,
a&sub1;&sub1;
-
ergibt sich direkt aus der Formel (1).
-
Die Erfindung benutzt insbesondere die Feststellung, daß es
möglich ist, durch Durchführung einer Reihe sequentieller
Transformationen und durch Umkehren der Abtastrichtung bei
jeder neuen Transformation zu einem Ergebnis zu kommen, das
gleichwertig denjenigen einer viel längeren Reihe paralleler
Transformationen ist. Besser: In der überwiegenden Anzahl der
Fälle wird das Ergebnis nach einer festen Anzahl Abtastungen
unabhängig vom Inhalt des Bildes erhalten: Die Festzahl ist
häufig gleich 2 (hin und zurück) oder 3.
-
Daher schlägt die Erfindung eine Vorrichtung zur
Transformation eines Bildes vor, das durch Pixel definiert wird,
die jeweils ein Merkmal, wie beispielsweise die Helligkeit,
aufweisen und durch einen digitalen Wert definiert sind,
gemäß Anspruch 1.
-
Die Erfindung wird leichter verständlich durch Lesen der
Beschreibung, die besonderen Ausführungsformen folgt, die
beispielhaft und nicht einschränkend angegeben sind. Die
Beschreibung bezieht sich auf die begleitenden Zeichnungen,
in denen:
-
- die Fig. 1 ein Schaltbild der allgemeinen Architektur eines
Bildanalysators ist, der die Durchführung der Erfindung
ermöglicht und einen Prozessor zum Wiedereinschreiben aufweist;
-
- die Fig. 2 ist eine örtliche Speichereinrichtung zum
Wiedereinschreiben in ein quadratisches Raster, die in eine
Vorrichtung der Fig. 1 aufgenommen werden kann, und die
Funktion ERODE und den Wiederaufbau der Druckpunkte
realisiert;
-
- die Fig. 3 ist ein Schema, das dazu bestimmt ist, die
Unterschiede zwischen der euklidischen und der geodätischen
Entfernung zu verdeutlichen;
-
- die Fig. 4 und 5 zeigen beispielhaft für die gleiche
Menge X die euklidische Funktion ERODE und die geodätische
Funktion ERODE, bedingt für eine bestimmte Menge Y,
-
- die Fig. 6 ist ein Schaltbild eines Prozessors, mit dem man
die geodätische Funktion ERODE ausführen kann;
-
- die Fig. 7 ist ein Schaltbild eines Prozessors, der die
Wiederherstellung der Punkte mit Wiedereinschreiben zuläßt;
-
- die Fig. 8 ist ein Schema einer örtlichen
Speichervorrichtung für Paralleltransformationen in hexagonalen Maschen;
-
- die Fig. 8A ist ein Blockschaltbild, das die an der Fig. 8
auszuführenden Änderungen zeigt, um für sequentielle
hexagonale Transformationen eine örtliche Abspeicherung und ein
dreifaches Wiedereinschreiben durchzuführen.
-
Die Erfindung läßt sich insbesondere in einem Bildanalysator
einsetzen, der einen allgemein herkömmlichen Aufbau aufweist,
wie er in Fig. 1 gezeigt wird, der jedoch mit einem
morphologischen Prozessor zum Wiedereinschreiben ausgerüstet ist.
-
Der Analysator der Fig. 1 umfaßt ein Bilderfassungsorgan (10)
(Kamera oder Aufzeichnung), dessen Ausgangssignale in einer
Schaltung 12 digitalisiert werden, wobei jedes Pixel durch
eine Zahl dargestellt wird, die aus mehreren Binärelementen
(Bits) besteht (digitalisiertes Bild). Die Signale werden auf
einen Schreibbus 14 gelegt, der an einen
Bildwiederholspeicher 16 angeschlossen ist, dessen Inhalt einer Anzahl
Pixel eines Bildes entspricht, das an ein Anzeigeorgan 18,
wie z. B. eine Kathodenstrahlröhre, geliefert wird.
-
Der Analysator beinhaltet zwei Lesebusse des gleichen
Aufbaus, die an andere Teile angeschlossen werden können, wie
z. B. Bandaufzeichnungsgeräte usw. Die Daten, die auf diesem
Eingangsbus laufen, werden einer arithmetischen und logischen
Einheit 24 zugeführt, die die Operationen Addition,
Subtraktion, Minimumbestimmung und Maximumbestimmung zwischen den
Pixeln ausführen können. Der Ausgang der Einheit 24 ist an
einen morphologischen Prozessor für das Umfeld 26 gelegt, der
die Durchführung der Paralleltransformationen des Umfelds
ermöglicht.
-
Die Lesebusse 20 und 22 sind ebenfalls an einen
morphologischen Prozessor 28 gelegt. Der Ausgang der Prozessoren 26 und
28 ist über einen gemeinsamen Bus an eine Schaltung gelegt,
die die Aufgabe hat, ein Haltekriterium des
Wiedereinschreibprozessors zu liefern. Diese Schaltung führt eine
Integrierungsmaßnahme durch. Aber ein vorteilhafteres
Haltekriterium für alle Transformationen, die nach einer festen
Anzahl Transformationen zu keinem Ergebnis führen, kann in
den Prozessor selbst integriert sein. Es genügt nämlich ein
Komparator, der seinerseits den Anfangswert und den
transformierten Wert jedes Pixels vergleicht. Soweit ein
Transformationspaar im direkten Sinn und dann im umgekehrten Sinn
ein einziges Pixel verändern, muß ein neues
Transformationspaar angewandt werden. Der Komparator hat als Eingang die
Werte der Pixel aij und aij* (alter Wert und transformierter
Wert). Der Ausgang des Komparators stellt den Eingang eines
ODER-Gatters dar. Der Ausgang des ODER-Gatters ist mit dem
Eingang einer Kippschaltung verbunden, die in der Lage ist,
ein Bit zu speichern. Diese Kippschaltung, die zu Beginn
eines Transformationspaares auf Null gesetzt wird, kippt auf
1, sobald zwei Pixel aij und aij* unterschiedliche Werte
aufweisen. Der Ausgang der Kippschaltung wird wieder in das
ODER-Gatter rückgeführt, so daß die Kippschaltung bis zum
Ende in Stellung 1 blockiert ist.
-
Schließlich sind die Busse mit einem Bild-RAM 30 verbunden,
der eine genügende Kapazität aufweist, um zwei oder drei
komplette Bilder zu speichern und den man sich in drei Teile,
A, B und C, eingeteilt vorstellen kann.
-
Der morphologische Prozessor 28 besteht aus zwei Modulen, 40
und 42. Das Modul 40 stellt eine Vorrichtung zum
Wiedereinschreiben dar und hat die Funktion, dem Modul 42, das den
Prozessor darstellt, alle Argumente zuzuführen, deren dieser
bedarf um die Transformation (1) durchzuführen.
-
Um die Anzahl der Aufrufe an den Bildspeicher 30 zu
minimieren, weist die Wiedereinschreibvorrichtung 40
vorteilhafterweise einen örtlichen Speicher 41 auf, in dem alle
Pixel abgespeichert sind, die bereits vor dem Pixel aij beim
Abtasten für die Transformation herangezogen wurden und die
noch gebraucht werden, um die Pixel nach dem Pixel aij zu
transformieren. Bei anderen Anwendungen ist der örtliche
Speicher 41 vorgesehen, um auch Pixel gleichzeitig vor und
nach aij aufzunehmen.
-
Sobald der neue Wert a*ij vom Prozessor 42 berechnet ist,
wird er in den Bildspeicher 30 sowie in den örtlichen
Speicher 41 der Vorrichtung 40 eingeschrieben, um als
Argument für die Transformation der nachfolgenden Pixel zu
dienen.
-
Der Wiedereinschreibprozessor 28 und sein Speicher haben
einen Aufbau, der vom angewandten Typ des Rasters und des
Graphen für das Umfeld abhängt. Die Fig. 2 zeigt einen Aufbau
des Prozessors 28, der einsetzbar ist, wenn das Abtasten vom
Videotyp in direkter und in umgekehrter Richtung ist,
entsprechend einem rechteckigen Raster. Aber wie bereits
angegeben, ist auch ein Sechseckraster möglich.
-
Im Falle der direkten Videoabtastung müssen die dem Prozessor
42 zugeführten Werte sein:
-
a*i-1,j-1 a*i-1,j a*i-1,j+1 (2)
-
a*i,j-1 ai,j
-
Im Falle der Punktwiederherstellung werden auch die Werte
bi,j, die aus dem Speicher B ausgegeben werden, an den
Prozessor 42 geliefert.
-
Der in Fig. 2 gezeigte örtliche Speicher 41 muß dem Prozessor
42 das Pixel, an dem die Transformation durchgeführt wird,
und vier bereits transformierte Pixel gleichzeitig zur
Verfügung stellen. Zu diesem Zweck hat dieser Speicher einen
Bild-RAM 34 mit einer Kapazität entsprechend n-1 Pixel.
Dieser Speicher kann über den Adressenbus 35 zum Lesen und
zum Schreiben angesprochen werden. Der Ausgang der Daten aus
dem Speicher 34 treibt zwei Speicherelemente 36 und 38, die
in Kaskadenschaltung geschaltet sind und die jedes die
Kapazität eines einzigen Pixels haben (im allgemeinen eine
Kippschaltung). Der Ausgang des Prozessors 42 ist mit dem
Eingang des Speichers 34 und dem Eingang eines
Speicherelements 44 mit der Kapazität nur eines Pixels sowie mit dem
Schreibbus des Speichers 30 verbunden.
-
Andererseits ist, im vorliegenden Fall, der Speicher 30 auch
mit Abspeicherelementen 46 und 48 mit einer Kapazität von je
einem Pixel verbunden.
-
Wie man sieht, lassen die Ausgänge des Speichers 34 und der
Abspeicherelemente 36, 38, 44, 46 und 48 dem Prozessor 42
gleichzeitig die Werte von sechs Pixeln zukommen. Diese sechs
Werte werden auf die die Eingänge E1, E2, . . . E6 gelegt. Die
durchzuführende Transformation bestimmt den Aufbau des
Prozessors 42, die Verteilung der in den Abspeicherelementen
gespeicherten Pixel und deren Verteilung auf den Prozessor 42.
-
Die gezeigte Schaltung ermöglicht insbesondere das
Durchführen des Erodierens im quadratischen Raster und die
Rekonstruktion der Punkte, wie man später noch in weiteren
Einzelheiten sehen wird.
-
Insbesondere kann man am Ausgang der verschiedenen Elemente
gleichzeitig vorsehen:
-
- für das Abspeicherelement 46 das Pixel aij und gleichzeitig
Lesen des Pixels ai,j+1 im Teil A des Speichers und
Übertragung auf 46,
-
- für das Abspeicherelement 48 das Pixel bij und gleichzeitig
Lesen des Pixels bi,j+1 im Teil B des Speichers.
-
Die anderen Elemente liefern, solange a*i,j an 34 und 44
liegt
-
- für das Abspeicherelement 44 des bereits transformierten
Pixels a*i,j-1;
-
- für den Speicher 34 den bereits transformierten Wert
a*i-1,j+1;
-
- für das Abspeicherelement 36 den bereits transformierten
Wert a*i-1,j;
-
- für das Abspeicherelement 38 den bereits transformierten
Wert a*i-1,j-1.
-
Die Operationen werden durch ein Taktgebersignal H von der
Zeitbasis des Systems synchronisiert.
-
Beim Abtasten im gegenläufigen Sinn erfährt das dem Element
aij zugeordnete Strukturelement eine Symmetrie gegenüber dem
Punkt aij. So enthält das Abspeicherelement der Vorrichtung
41, das während des Direktabtastens das Pixel al,s enthalten
hatte, jetzt das Pixel a2i-1,2j-s.
-
Anschließend sollen diejenigen unter den verschiedenen
Vorrichtungen beschrieben werden, die jeweils die Durchführung
einer bestimmten unter den wichtigsten Transformationen
ermöglichen.
Funktion ERODE
-
Die Funktion ERODE ist bereits bekannt. Vgl. J. SERRA, "Image
analysis and mathematical morphology", Academic Press, 1982,
S. 43-45, betreffend die Definition des Erodierens, und den
bereits angeführten Artikel von Rosenfeld hinsichtlich einer
Definition der Funktion ERODE unter der Bezeichnung "Distance
Transformation".
-
Hier muß man nur darandenken, daß die Funktion ERODE einer
binären Abbildung X, in bezug auf eine binäre Abbildung Y,
eine digitale Funktion ist, die man mit ERODEY(X) bezeichnet
und die perfekt definiert wird durch ihre nachfolgenden
Stufen. Sn sei die Niveaustufe n der Funktion ERODEY(X), sie
wird definiert durch die Rekursions-Relation:
-
So = X Y
-
Sn = (Sn-1 R H) Y wobei R H die kleinste Erodierung durch
ein isotropes Oberflächenelement darstellt.
-
Sobald Y nicht leer ist, stellt ERODEY(X) die Länge des
kürzesten Wegs von x nach xc unter Umgehung von Y dar, der in
Fig. 3 vom Weg x nach z dargestellt wird.
-
Ein Sonderfall ist gegeben, wenn die Menge Y leer ist. Die
geodätische Entfernung reduziert sich dann auf die
euklidische Entfernung xz&sub0; von x (Fig. 3).
-
Die Fig. 4 und 5 zeigen beispielhaft am quadratischen
Raster und für die gleiche Menge X die euklidische Funktion
ERODE (Fig. 4) und die geodätische Funktion ERODE, bezüglich
einer Menge Y, die vier Pixel in einer quadratischen
Anordnung (Fig. 5) enthält.
-
Vor einer Beschreibung der Durchführung des Verfahrens mit
Hilfe einer Vorrichtung des Aufbaus gemäß den Fig. 1 und
2, soll das Behandlungsverfahren für den Sonderfall eines
quadratischen Rasters mit Achteranschlußfähigkeit und mit den
wahren Abständen zwischen den Pixeln gezeigt werden, wobei
die Anpassung an ein anderes Raster oder an eine andere
Anschlußfähigkeit unmittelbar folgt.
-
Im allgemeinsten Fall muß das Verfahren die Bestimmung der
geodätischen Funktion ERODE einer binären Menge X, unter
Bezugnahme auf eine binäre Menge Y, ermöglichen. Nach einer
vorteilhaften, jedoch nicht ausschließenden Ausführungsform
des Verfahrens, unter Zulassung vereinfachter Berechnungen,
führt man eine Initialisierung durch, die in der Codierung
des Ausgangsbilds zur Schaffung eines transformierten
digitalen Bilds vom Ausgangspunkt F aus besteht:
-
F(x) = Max wenn x ε Y
-
F(x) = Max - 1 wenn x ε X Yc
-
F(x) = 0 wenn x ε Xc Yc
-
Max bezeichnet den verfügbaren Maximumwert 2s, und Yc ist das
Komplement von Y.
-
Der übliche Teil des Vorgangs besteht darin, daß eine Gruppe
von zwei aufeinanderfolgenden Schritten wiederholbar
ausgeführt wird, wobei der erste Schritt in direkter
Videorichtung und der zweite in umgekehrter Videorichtung
verläuft.
-
Im euklidischen Fall genügen zwei aufeinanderfolgende
Schritte, um zu einem Ergebnis zu gelangen.
-
Im geodätischen Fall muß man jedoch die Aufeinanderfolge bis
zur Stabilität wiederholen, das heißt, bis die
aufeinanderfolgenden zwei Schritte keinen Punkt mehr verändern; das
erfordert einen Test.
-
Bei jedem Schritt soll die Umfeldkonfiguration im
quadratischen Rahmen sein:
-
ai-1,j-1 ai-1,j ai-1,j+1
-
ai,j-1 ai,j ai,j+1
-
ai+1,j-1 ai+1,j ai+1,j+1
-
Die Transformationsregeln für jeden Punkt sind also, bei
direkter Videoabtastung:
-
wenn ai,j = Max, a*i,j = Max
-
wenn nicht, a*i,j = Min[ai,j, 5 + Min(ai-1,j, ai,j-1),
7 + Min(ai-1,j+1, ai-1,j-1)]
-
Bei einer Videoabtastung in umgekehrter Richtung ist
hingegen:
-
wenn ai,j = Max, a*i,j = Max
-
wenn nicht
-
a*i,j = Min[ai,j, 5 + Min(a*i,j+1, a*i+1,j)
7 + Min(a*i+1,j-1, a*i+1,j+1)]
-
Bei einem hexagonalen Raster ist der Wert a*i,j anders, wenn
ai,j nicht gleich Max ist. Man kann einsetzen:
-
a*i,j = Min[ai,j, 1 + Min(d*,e*,g*)]
-
oder auch
-
a*i,j = Min[ai,j, 4 + Min(d*,e*,g*), 7 + Min(c*,b*,f*)]
-
wobei b, c, d, e, f, g die folgende Anordnung bei direkter
Abtastung aufweisen:
-
wobei sich diese Anordnung für eine umgekehrte Videoabtastung
umkehrt.
-
Hier muß angemerkt werden, daß gegenüber dem oben genannten
Artikel von Rosenfeld die Einführung von zwei
unterschiedlichen Entfernungen zwischen zwei nebeneinanderliegenden
Punkten auf horizontaler und vertikaler Linie einerseits, und
auf diagonalen Linien andererseits, eine bedeutsame
Innovation darstellt, denn sie ermöglicht das viel genauere
Erfassen einer Darstellung der Entfernungen.
-
Der Vorgang läßt sich dann mit Hilfe der Vorrichtung
ausführen, die in den Fig. 1 und 2 gezeigt ist, die Vorrichtung
40 liefert das Umfeld gemäß der Direktvideoabtastung an den
Prozessor 42 (E1 bis E5 bezeichnet die Eingänge an 42):
-
a*i-1,j-1 a*i-1,j a*i-1,j+1 = E&sub5; E&sub4; E&sub3;
-
a*i,j-1 aij = E&sub2; E&sub1;
-
und für umgekehrte Videoabtastung:
-
aij a*i,j+1 = E&sub1; E&sub2;
-
a*i+1,j-1 a*i+1,j a*i+1,j+1 = E&sub3; E&sub4; E&sub5;
-
Der Aufbau des Prozessors 42 kann dann so sein, wie er in
Fig. 6 gezeigt wird, wobei der Eingang E6 in Fig. 2 nicht
betroffen ist.
-
Die Vorrichtung 42 der Fig. 6 beinhaltet zwei Eingangszweige.
Der erste Zweig beinhaltet einen Operator 52, der aus einem
Komparator besteht, der einen Multiplexer mit zwei Eingängen
steuert, der an seinem Ausgang das Minimum der beiden an den
Eingängen angelegten Werte liefert. Diese beiden Eingänge
sind in Fig. 2 mit E&sub2; und E&sub4; bezeichnet. Der Ausgang F1 des
Operators 52 wird an eine Zuordnungstabelle 54 gegeben, die
F1 in F'1 transformiert, definiert durch:
-
wenn F1 < Max-1 F'1 = 5 + F1
-
wenn nicht F'1 = Max
-
der zweite Zweig ist genauso aufgebaut und führt die gleichen
Operationen an den Eingängen E3 und E5 durch, um einen Wert
F'2 zu liefern, wenn nicht die Zuordnungstabelle dieses
Zweigs F2 in F'2 umwandelt, definiert durch:
-
wenn F2 < Max-7 F'2 = 7 + F2
-
wenn nicht, F'2 = Max.
-
Die Werte F'1 und F'2 werden auf die zwei Eingänge eines
Operators 56 gelegt, der an seinem Ausgang das Minimum G von
F'1 und F'2 liefert und es auf einen der Eingänge eines
Komparators 58 und eines Multiplexers 64 legt.
-
Der zweite Eingang des Komparators 58 stellt den Eingang E1
der Wiedereinschreibvorrichtung 42 dar. Dieser Komparator ist
so aufgebaut, daß er an seinem Ausgang ein Signal 3 liefert,
das gleich ist:
-
1 wenn E1 kleiner ist als G
-
0 im anderen Fall.
-
Das Signal J wird an einen der Eingänge eines ODER-Gatters 60
gelegt. Der andere Eingang des Gatters 60 ist mit dem Ausgang
eines Gleichheitsprüfers 62 verbunden. Das Ausgangssignal H
des Gleichheitsprüfers 62 ist gleich 1 wenn E1 = Max.
Andernfalls H = 0. Daher sieht man, daß der Ausgang 1 des Gatters
60 gleich J wird, wenn H gleich 0 ist, d. h. wenn E1 nicht
gleich Max ist.
-
Das Ausgangssignal des Gatters 60 wird an den Steuereingang
des Multiplexers 64 gelegt, dessen zweiter Dateneingang das
Signal E1 aufnimmt. Das Gatter 60 bestimmt daher, welcher der
Eingänge des Multiplexers 64 an seinen Ausgang gelegt wird,
der den Ausgang S des Prozessors 42 darstellt, der mit dem
Schreibbus verbunden ist, um in den Teil 8 des Speichers 30,
in den Bild-RAM 34 und in das Register 44 zu schreiben.
Die Funktion ERODE durch Wiedereinschreibbehandlung gemäß
beliebiger Ausrichtungslinien
-
Es kann vorteilhaft sein, eine Bildanalysen-Architektur mit
Hilfe von handelsüblichen integrierten Schaltungen
aufzubauen, die im gleichen Gehäuse einen Prozessorteil und einen
Speicherteil aufweisen. Es wird dann interessant, die
Bearbeitung eines Bildes in einzelne, unabhängige Aufgaben zu
zerlegen, die parallel durchgeführt werden, wobei jede
unabhängige Aufgabe einem anderen Prozessor zugewiesen wird. Die
Funktion ERODE ist gut geeignet für eine solche Zerlegung in
sequentielle lineare Transformationen, das heißt, die nur die
Information einer beliebigen gegebenen Bildrichtungslinie
benutzen und verändern. Die Bearbeitung umfaßt somit mehrere
Schritte, deren jeder das Ergebnis des vorherigen Schrittes
verändert und in einer anderen Richtung arbeitet. Für eine
gegebene Richtung ist die Bearbeitung jeder Bildzeile
unabhängig von der Bearbeitung aller anderen Zeilen. Somit kann
die Behandlung jeder Zeile von einem anderen Prozessor
vorgenommen werden, wobei alle diese Prozessoren parallel
arbeiten.
-
Ein weiterer Vorteil dieser Vorgehensweise ist, daß
Strukturelemente generiert werden können, die durch Einführen von
Richtungen, die nicht gewöhnlich sind (wie z. B. π/2 bei
sechseckigen Maschen), viel stärker isotrop sind. Die
Berücksichtigung dieser Richtungen bei herkömmlicher Videoabtastung
würde sehr aufwendig sein, weil sie die Anwendung sehr großer
Strukturelemente voraussetzen würde.
-
Jetzt soll gezeigt werden, wie man eine Bearbeitung ERODE
durch Wiedereinschreiben Zeile um Zeile durchführen kann,
wobei wir uns zwecks Vereinfachung auf den euklidischen Fall
eines quadratischen Rasters beschränken wollen.
-
Das Ausgangsbild wird codiert wie folgt (wobei die gleiche
Schreibweise wie oben verwendet werden soll):
-
F(x) = Max wenn x ε x
-
F(x) = 0 wenn nicht
-
Man behandelt nun, eine nach der anderen, jede der
Richtungen:
-
0, π/4, π/2, 3π/4, π, 5π/4, 3π/2, 7π/4
-
und, für jede Richtung wird der folgende Algorithmus
ausgeführt:
-
a*i = Min(a*i-1 + kj, ai)
-
wobei kj den Abstand zwischen zwei aufeinanderfolgenden
Pixeln in der Abtastrichtung j darstellt, das heißt, zum
Beispiel k = 5 für die Richtungen 0, π/2, π, 3π/2; k = 7 für
die Richtungen π/4, 3π/4, 5π/4, 7π/4 im quadratischen Raster.
Wiederherstellung der Punkte mit Wiedereinschreiben
-
Die Wiederherstellung der Punkte stellt eine Transformation
dar, die an sich bekannt ist und von der man eine
Beschreibung im bereits erwähnten Buch von Serra auf Seite 401-403
nachlesen kann.
-
Die erfindungsgemäße Lösung der Aufgabe ist die Durchführung
der Wiederherstellung digitaler Punkte eines digitalen Bildes
A aus einem digitalen Bild B.
-
Zu diesem Zweck wird, im herkömmlichen Algorithmus, bis zum
Eintreten der Stabilität der folgende Algorithmus wiederholt:
-
A' = Min[A H, B]
-
wobei A' bei der nachfolgenden Operation für A gesetzt wird
und H das elementare Sechseck (bzw. Quadrat) im Raster ist.
-
Der nachstehend gezeigte Wiedereinschreib-Algorithmus führt
zum gleichen Resultat, jedoch mit viel weniger Schritten als
der herkömmliche Algorithmus.
-
Die Vorrichtung zur Ausführung kann die gleiche sein, wie in
den Fig. 1 und 2 dargestellt ist, jedoch mit einem Prozessor
42, der anders aufgebaut ist, als in Fig. 6 gezeigt wird.
-
Im besonderen Fall eines quadratischen Rasters mit
Achteranschlußfähigkeit kann der Prozessor 42 den Aufbau gemäß Fig.
7 haben. Da das Umfeld das gleiche ist, wie es bereits oben
unter (2) definiert wurde, muß die folgende Transformation
ausgeführt werden:
-
a*ij = Min[bij, Max(aij, a*i,j-1, a*i-1,j+1, a*i-1,j,
a*i-1,j-1)] (3)
-
bei direkter Videoabtastung.
-
Bei umgekehrter Videoabtastung ist das Umfeld umgekehrt und
die an jedem Pixel des digitalen Bildes A auszuführende
Transformation wird gemäß dem folgenden Algorithmus
ausgeführt:
-
a*ij = Min[bij, Max(aij, a*i,j+1, a*i+1,j+1, a*i+1,j,
a*i+1,j-1)] (3a)
-
Zu diesem Zweck muß der Prozessor 42, bei direkter
Videoabtastung, die folgenden Eingaben erhalten:
-
bij für E6
-
(wobei b ein Pixel im Teil B des Speichers bezeichnet, der
das Bild B enthält)
-
a*i-1,j-1 für E5
-
a*i-1,j für E4
-
a*i-1,j+1 für E3
-
a*i,j-1 für E2
-
aij für E1
-
Die Darstellung in umgekehrter Videoabtastung wird aus der
vorhergehenden durch Symmetrie des Strukturelements um aij
abgeleitet.
-
Der Prozessor 42 enthält zwei Eingangsoperatoren 66, von
denen jeder aus einem Komparator gefolgt von einem
Multiplexer besteht. Der erste Operator 66 z. B. erhält die
Eingänge E2 und E3 und liefert an seinem Ausgang ein digitales
Signal, das für den größeren der beiden Werte E2 und E3
repräsentativ ist. Der zweite Operator ist gleich aufgebaut,
erhält jedoch die Eingänge E4 und E5. Die Ausgänge dieser
beiden Operatoren 66 sind mit den beiden Eingängen eines
zweiten Operators verbunden, der den gleichen Aufbau hat wie
die ersten, er liefert daher an seinem Ausgang ein digitales
Signal, das repräsentativ für das Maximum aus E2, . . . . . E5
ist. Ein anderer Operator 70, der mit dem vorstehenden
identisch ist, enthält einen Eingang, der mit dem Ausgang des
Operators 68 verbunden ist, und einen zweiten Eingang, der E1
aufnimmt. Daher stellt der Ausgang F des Operators 70 das
Maximum aller Werte E1 bis E5 dar. Ein letzter Operator 72
nimmt den Ausgang des Operators 70 und das Signal E6 auf, das
für bij repräsentativ ist, unabhängig von der Abtastrichtung.
Der Ausgang S dieses letzteren Komparators, der durch Min(F,
E6) dargestellt wird, wird über den Schreibbus in den
Bildspeicher eingeschrieben und wird wieder in die Speicher 44
und 34 eingegeben, um zur Bearbeitung der nachfolgenden Pixel
zu dienen.
Rahmencodierung
-
Die Rahmencodierung einer Menge von Pixeln, die durch
Binärzahlen oder digitale Funktionen dargestellt werden, ist eine
der nützlichsten Transformationen bei der Bildanalyse. Sie
ermöglicht das Erfassen der Medianachse einer binär codierten
Pixelmenge oder der "Scheitelwertlinien" einer Pixelmenge,
die man als Vertretung einer digitalen Funktion betrachten
kann. Eine Beschreibung der Rahmencodierung und der
herkömmlicherweise dafür benutzten Vorrichtungen ist in dem bereits
angezogenen Werk von Serra auf S. 373-401 und S. 450-456
enthalten.
-
Die Methoden zur Rahmencodierung auf dem Stand der Technik
gehen alle vom gleichen Prinzip aus: Man entnimmt durch
aufeinanderfolgende Schritte die Umrißpunkte für jedes Teil
des Bildes, dessen Rahmen man sucht, was der fortschreitenden
Verkleinerung des Teils entspricht. Umfeldkriterien
ermöglichen das Vermeiden des Verschwindens eines Teils, der durch
eine Pixelmenge dargestellt wird, oder eines Lochs oder das
Aufspalten des Teils oder des Lochs. Das gleiche macht man
für eine Menge, die durch eine digitale Funktion dargestellt
werden kann, wobei man dafür sorgt, daß das gleiche Kriterium
für alle Schwellenwerte überprüft wird.
-
Alle bekannten Methoden erfordern eine Anzahl Schritte, die
mit der Abmessung der größten Einzelteile zunimmt, deren
Rahmen im Bild codiert werden soll.
-
Das erfindungsgemäße Verfahren und die Vorrichtung dazu, die
nachstehend beschrieben werden sollen, ermöglichen eine
bedeutsame Vereinfachung der Operation: Sie ermöglichen das
Festlegen des Rahmens eines Einzelteils in einer Sequenz, die
enthält:
-
- einen schnellen Aufbau des Bildes,
-
- eine Rahmencodierung in drei Schritten (ausgeführt
z. B. der erste bei der direkten Videoabtastung, der zweite
bei der umgekehrten Videoabtastung und der dritte wieder bei
der direkten Videoabtastung).
-
Jetzt sollen zunächst die allgemeine Abfolge der
Rahmencodierung und dann im einzelnen die Fälle der Konstruktion
eines euklidischen Rahmens einer Menge aus binären Pixeln
beschrieben werden.
Allgemeines Verfahren
-
Das Verfahren kann als mindestens aus drei Etappen bestehend
betrachtet werden, (a) man generiert ein Relief ohne Platte;
(b) man codiert ggf. das Relief des Umfelds für jedes Pixel
der Menge, deren Rahmencodierung man wünscht, gemäß einem
vorgegebenen Codierungsalgorithmus, (c) man markiert die
Spitzenpunkte auf dem ggf. codierten Relief, und (d) man
generiert auf dem gleichen Relief den Bereich oberhalb der
Spitzenpunkte mittels eines Wiedereinschreibverfahrens, wie
es vorstehend schon beschrieben wurde.
-
Als Beispiel sei das allgemeine Verfahren beschrieben unter
der Annahme, daß zunächst die Pixel nicht mehr in einem
quadratischen Raster angeordnet sind, wie im vorstehenden
Fall, sondern in einem Sechseckmuster. Das Verfahren mit
einem quadratischen Raster wird auf eine sehr ähnliche Weise
durchgeführt. Der Übergang von einer Verteilung in einem
quadratischen Muster auf ein Sechseckmuster kann durch eine
Paralleltransformation durchgeführt werden, die dahin führt,
daß die folgenden Umgebungen realisiert werden:
-
- auf einer geradzahligen Zeile
-
- auf einer ungeradzahligen Zeile:
-
und, um eine unabhängige Darstellung der Parität zu haben,
soll auch das Umfeld bezeichnet werden durch
-
Diese Transformation kann durchgeführt werden unter Benutzung
der in Fig. 8 gezeigten Vorrichtung, die zwei Pfade aufweist,
die abwechselnd arbeiten.
-
Die in Fig. 8 gezeigte Vorrichtung erhält vom Zentralspeicher
30 am Eingang E den Wert jedes Pixels und speichert ihn ab,
solange er von keinem Strukturelement benutzt wird. Sie
verschiebt diese Werte ins Innere des örtlichen Speichers bei
jedem Takt des Taktgebers, so daß dem Prozessor 42 (Fig. 1)
das richtige Umfeld (a, b, c, d, e, f, g) des Zentralpunkts
und unabhängig von der Parität der behandelten Zeile
zugeführt wird. Man sieht in der Tat an den beiden Umgebungen von
aij, wie oben gezeigt, daß, wenn die Zeile i gerade ist, die
Nachbarn a und f (bzw. b und g) den Rang j (bzw. j+1) haben,
während sie bei einer ungeraden Zeile den Rang j-1 (bzw. j)
haben. Um diese Verschiebung jede übernächste Zeile
durchzuführen, weist die Vorrichtung drei identische Schaltungen
74-76, 82-84, 96-98 auf.
-
Beispielhaft sei jetzt der Aufbau der Schaltung 74-76
erklärt. Sie erhält vom Speicher 30 den Wert ai+1,j+2 in dem
Augenblick, in dem ai,j der Zentralpunkt des Strukturelements
ist. Dieser Eingang wird gleichzeitig an den Eingang eines
Registers 74 und an einen der Eingänge eines Multiplexers 76
gelegt. Der Ausgang des Registers 74 bildet den anderen
Eingang des Multiplexers. Der Multiplexer selbst wird an
seinem Eingang 104 von einem Paritätssignal gesteuert. In
einer geradzahligen Zeile zeigt der Multiplexer an seinem
Ausgang den an E liegenden Eingang, d. h. ai+1,j+2, während er
bei einer ungeraden Zeile den Inhalt des Registers 74
annimmt, d. h. ai+1,j+1. Der Ausgang des Multiplexers 76 speist
zwei Register 78 und 80, die in Kaskadenschaltung geschaltet
sind, und die es jedem derselben ermöglichen, den Wert des
Pixels, den es am Eingang aufnimmt, um einen Takt des
Taktgebers zu verzögern. Daher zeigen auf einer geradzahligen
Zeile die Register 78 und 80 an ihrem Ausgang die Werte der
Pixel ai+1,j+1 und ai+1,j, und auf einer ungeradzahligen
Zeile die Werte der Pixel ai+1,j und ai+1,j-1. Man stellt
fest, daß man wirklich die richtigen Werte der Punkte f und
g, der Nachbarn des Zentralpunkts d, an diesen Ausgängen hat.
-
Die Schaltung muß am Eingang eines Bild-RAM 86 den Wert des
Pixels ai+1,j-1 zeigen, unabhängig davon, welche Parität die
Zeile hat. Zu diesem Zweck arbeitet die Schaltung 82-84
umgekehrt wie die Schaltung 74-76: Wenn der Multiplexer 76 den
Eingang des Registers 74 anwählt, wählt der Multiplexer 84
den Ausgang des Registers 82. Auf diese Weise heben sich ihre
Wirkungen gegenseitig auf.
-
Der Bild-RAM arbeitet wie ein Schieberegister, das eine
Verzögerung von n-3 Pixel einführt.
-
Der Ausgang des Bild-RAM 86, d.i. ai,j-2 wird in eine Kaskade
aus drei Registern 88, 90 und 92 eingeführt, die es
ermöglichen, daß jedes den Wert des Pixels, den es am Eingang
erhält, um einen Takt des Taktgebers verzögert. Die Ausgänge
dieser drei Register bilden die Nachbarpunkte e = ai,j+1, d =
aij, c = ai,j-1.
-
Der Ausgang des Registers 92, d.i. ai,j-1, liegt ebenfalls am
Eingang eines Speichers 94, der mit dem Speicher 86 identisch
ist.
-
Der Ausgang des Bild-RAM 94, d.i. ai-1,j+2, bildet den
Eingang der letzten der drei Register-Multiplexer-Schaltungen
96-98. Die Gesamtheit der Vorrichtung 96-98-100-102 ist
identisch mit der Vorrichtung 74-76-78-80 und funktioniert
synchron mit dieser letzteren. Die Ausgänge der Register 100 und
102 bilden somit die letzten Punkte des Umfelds b und a, im
Werte von ai-1,j bzw. ai-1,j-1 sobald die behandelte Zeile
ungeradzahlig ist.
-
Diese Vorrichtung ist ein bißchen komplizierter als die, die
man üblicherweise zum örtlichen Abspeichern der sechseckigen
Paralleltransformationen benutzt. Aber so, wie sie gezeigt
wird, hat sie den Vorteil, daß sie mit Hilfe einer einfachen
Modifikation der Anschlüsse leicht in eine Vorrichtung zum
Wiedereinschreiben umgewandelt werden kann, wie aus der Fig.
8A ersichtlich wird. In der Vorrichtung der Fig. 8 werden die
Pixel g, f, d, die entsprechend an den Ausgängen der Register
78, 80 und 90 gelesen werden, wieder in die nachfolgenden
Register 80, 82 und 92 eingegeben. In der Vorrichtung zum
Wiedereinschreiben der Fig. 8A hingegen gibt man die vom
Prozessor 42 berechneten transformierten Werte g*, f* und d*,
an die Eingänge der Register 80, 82 und 92.
-
Schon jetzt kann man darauf hinweisen, daß man von der
Vorrichtung gemäß Fig. 8 durch eine einfache Änderung der
Anschlüsse auf eine Vorrichtung zum Wiedereinschreiben
übergehen kann, wie sie in der Fig. 8A gezeigt wird.
-
Nach dieser Beschreibung des Übergangs vom quadratischen
Raster zum sechseckigen Raster wollen wir jetzt die
allgemeine Folge der Rahmencodierung beschreiben, bevor wir in
Einzelheiten die Sonderfälle der verschiedenen euklidischen
Binärrahmen betrachten.
-
Die erste Etappe besteht darin, eine Vorbereitung des Bildes
durch Generieren eines Reliefs zu bewirken.
-
Im Falle eines binären Bildes schafft man zunächst mittels
des oben unter der Überschrift "Erosionsfunktion"
beschriebenen Verfahrens ggf. die Funktion ERODE der Binärmenge X
zwecks konditionierter Rahmencodierung der Binärmenge Y (wenn
es sich um den geodätischen Rahmen handelt). Diese Funktion
ERODE ermöglicht das Codieren des Reliefs im Umfeld des
Pixels a der zu transferierenden Menge X.
-
Im Falle des folgenden Umfelds
-
Es handelt sich hier nur um eine örtliche Codierung: Das
Pixel a, sowie alle seine Nachbarn, deren Höhe in der
Funktion ERODE gleich ist der von a, werden mit 1 codiert.
Diejenigen, deren Höhe größer als die von a ist, werden mit 2
codiert. Diejenigen, deren Höhe kleiner ist, werden mit 0
codiert.
-
Sobald die Codierung des Reliefs auf das Umfeld jedes Pixels
ausgedehnt ist, wird die Rahmencodierung in zwei Etappen auf
das im Bild generierte Relief angewandt, zunächst die
Markierung der Scheitelpunkte, dann die Markierung der den
Scheitelpunkten in der Funktion ERODE vorangehenden
Punktmenge oder des Ablaufgraphen (wobei die vorherliegenden
Punkte auch zur Rahmencodierung gehören).
Markierung der Scheitelpunkte
-
Für diese Operation benutzt man einen Binärspeicher, der
ursprünglich 1-en beinhaltet, und setzt alle Pixel auf 0, die
einem Bildscheitelpunkt angehören, und zwar in einem einzigen
Durchgang durch das Bild.
-
Man erhält zunächst eine Grundcodeskizze, die im allgemeinen
in mehreren Fragmenten auftritt. Aber entgegen der
Ablaufrichtung oder im Ablaufgraph voraus liegenden Fragmente in
der Funktion ERODE gehören ebenfalls zum Grundcode. "Entgegen
der Ablaufrichtung" wird praktisch in allen Fällen nach den
gleichen Prinzipien definiert (binär-euklidisch,
binärgeodätisch oder digital)
-
Man kann also, ausgehend von den Scheitelpunkten, die eine
Grundcodeskizze geben, drei Schritte gegen die Ablaufrichtung
konstruieren durch einen Prozeß des Wiedereinschreibens, der
die in Fig. 8 gezeigte Vorrichtung in Betrieb setzt, unter
Berücksichtigung eines Umfelds von zwölf Punkten.
Anstieg entgegen der Ablaufrichtung
-
Am Ende der vorstehenden Operation verfügt man nur über
Bruchstücke des Grundcodes. Um diese Bruchstücke zu verbinden
und den kompletten Grundcode zu bilden, muß man entgegen der
Ablaufrichtung zurückgehen. Diese Operation führt man in drei
Schritten durch:
-
- die erste im Sinne der direkten Videoabtastung für die
Richtungen -π/6, -π/3, -π/2, -2π/3, -5π/6
-
- die zweite im Sinne der umgekehrten Videoabtastung für die
Richtungen π/6, π/3, π/2, 2π/3, 5π/6, π
-
- die letzte im Sinne der direkten Videoabtastung für die
Richtung 0.