complement
— Berechnen des Komplements einer Region.
complement(Region : RegionComplement : : )
complement
berechnet das Komplement der eingegebenen
Region(en).
Wenn das Systemflag 'clip_region' auf 'true'
gesetzt ist, was der Normalfall ist, wird die Differenz aus dem
größten aktuellen Bild (siehe reset_obj_db
) und der Region
berechnet.
Wenn das Systemflag 'clip_region' auf 'false'
steht (siehe set_system
), würde die resultierende Region
unendlich groß werden. Um dies zu verhindern, wird das Komplement nur
virtuell ausgeführt, d.h., es wird der Eintrag (Flag) für das
Komplement in Region
auf TRUE gesetzt. Für die Berechnung von
Folgeoperationen werden dann die Gesetze von de Morgan verwendet.
Sinnvoll ist die Ausführung von complement
mit dem
Systemflag auf 'false' nur zur Vermeidung von
Randeffekten, z.B., wenn der zu bearbeitende Ausschnitt über die
Bildgröße hinausgeht oder wenn er kleiner als die
Bildgröße ist. In letzterem Fall müsste dann das gewünschte
Clipping explizit gesetzt werden. Hat man keinen Grund, den Operator
mit 'clip_region' ='false' aufzurufen,
braucht diese Einstellung aber für andere Operationen, empfiehlt es
sich, das Systemflag kurzzeitig auf 'true' und nach Anwendung
von complement
wieder auf 'false' zu setzen, da ansonsten
negative Regionen aus Folgeoperationen resultieren können
Region
(input_object) region(-array) →
object
Eingaberegion(en).
RegionComplement
(output_object) region(-array) →
object
Berechnete Komplement(e).
Parameteranzahl: RegionComplement == Region
complement
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>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
threshold
,
connection
,
regiongrowing
,
pouring
,
class_ndim_norm
difference
,
union1
,
union2
,
intersection
,
reset_obj_db
,
set_system
Foundation