interjacent
— Unterteilen der Bildebene mittels vorgegebener Regionen.
interjacent
ist veraltet und wird nur aus Gründen
der Rückwärtskompatibilität zur Verfügung gestellt.
interjacent(Region : RegionInterjacent : Mode : )
interjacent
unterteilt die Bildebene mittels der
Regionen in Region
. Als Ergebnis wird eine Ausgaberegion
mit den ermittelten Trennlinien zurückgeliefert. Es stehen dafür
drei verschiedene Modi zur Verfügung:
Dieser Modus wird für Eingaberegionen verwendet, die sich nicht berühren. Die Prozedur findet dann Trennlinien zwischen den Regionen, die den Hintergrund „gerecht“ zwischen den Eingaberegionen aufteilt. Ihre Anwendung entspricht der Ausführung folgender Befehlssequenz:
complement('full',Region,Tmp) skeleton(Tmp,Result)
Für einander nicht berührende Eingaberegionen entspricht die
Prozedur in diesem Modus boundary(Region,Result)
,
ersetzt also jeder Eingaberegion durch ihre Kontur. Einander
berührende Eingaberegionen werden zu einer Region
zusammengefasst. Die zugehörige Ausgaberegion umfasst dann
deren Kontur und die (ein Pixel breite) Trennlinie zwischen
den ursprünglichen Regionen. interjacent
führt
in diesem Fall also folgende Einzelschritte durch:
boundary(Region,Tmp1,'inner')
union1(Tmp1,Tmp2)
skeleton(Tmp2,Result)
In diesem Modus verhält sich interjacent
für
einander nicht berührende Eingaberegionen wie im Modus
'medial_axis'. Kommt es zu einer Berührung, werden zwar
wiederum Trennlinien zwischen den Eingaberegionen als
Ausgaberegionen erzeugt, nun aber inklusive der
„Berührungslinie“ der Regionen. Einander berührende
Regionen werden also (durch eine Linie in der Ausgaberegion)
„getrennt“. Dies entspricht der Anweisungssequenz:
erosion1(Region,Mask,Tmp1,1) union1(Tmp1,Tmp2) complement(full,Tmp2,Tmp3) skeleton(Tmp3,Result) wobei Mask folgende „Kreuzmaske“ bezeichnet:
Region
(input_object) region(-array) →
object
Eingaberegionen, zwischen deren Regionen Trennlinien gefunden werden sollen.
RegionInterjacent
(output_object) region →
object
Eine Ausgaberegion mit den ermittelten Trennlinien als Region.
Mode
(input_control) string →
(string)
Gewünschter Modus.
Defaultwert: 'mixed'
Werteliste: 'border' , 'medial_axis' , 'mixed'
read_image(Image,'forest_air1') mean_image(Image,Mean,31,31) dyn_threshold(Image,Mean,Seg,20,'light') interjacent(Seg,Graph,'medial_axis') dev_display(Graph)
interjacent
liefert normalerweise den Wert 2 (H_MSG_TRUE). Das
Verhalten bei leerer Eingabe (keine Eingaberegionen vorhanden)
lässt sich mittels
set_system('no_object_result',<Result>)
,
das bei leerer Region mit
set_system('empty_region_result',<Result>)
und das bei leerer Ergebnisregion mit
set_system('store_empty_region',<'true'/'false'>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
threshold
,
connection
,
regiongrowing
,
pouring
expand_region
,
junctions_skeleton
,
boundary
Foundation