rank_region
— Berechnen des Rangoperators für Regionen.
rank_region(Region : RegionCount : Width, Height, Number : )
rank_region
berechnet den binären Rangoperator. Es wird eine
Filtermaske (Rechteck: Height
x Width
)
verwendet. Dabei wird für jede Position die Anzahl der Punkte aus
Region
gezählt, die in der Rechteckmaske liegen. Ist
die Anzahl größer oder gleich Number
, dann wird der
Schwerpunkt des Rechtecks in der Ergebnisregion eingetragen. Wählt
man
so erhält man den Median Operator.
Als Werte für Height
und Width
sind nur
ungerade Zahlen > 3 zugelassen. Werden andere Werte eingegeben,
so werden diese automatisch (ohne Fehlermeldung) entsprechend
modifiziert (nächstgrößere ungerade Zahl).
Region
(input_object) region(-array) →
object
Zu transformierende Region(en).
RegionCount
(output_object) region(-array) →
object
Ergebnisregion(en)
Width
(input_control) extent.x →
(integer)
Breite der Filtermaske.
Defaultwert: 15
Wertevorschläge: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21
Typischer Wertebereich: 3
≤
Width
≤
511
(lin)
Minimale Schrittweite: 2
Empfohlene Schrittweite: 2
Restriktion: Width >= 3 && odd(Width)
Height
(input_control) extent.y →
(integer)
Höhe der Filtermaske.
Defaultwert: 15
Wertevorschläge: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21
Typischer Wertebereich: 3
≤
Height
≤
511
(lin)
Minimale Schrittweite: 2
Empfohlene Schrittweite: 2
Restriktion: Height >= 3 && odd(Height)
Number
(input_control) integer →
(integer)
Zahl der Punkte innerhalb der Filtermaske >= Number: Punkt wird in Ausgaberegion aufgenommen.
Defaultwert: 70
Wertevorschläge: 5, 10, 20, 40, 60, 80, 90, 120, 150, 200
Typischer Wertebereich: 1
≤
Number
≤
1000
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Restriktion: Number > 0
read_image(Image,'monkey') mean_image(Image,Mean,5,5) dyn_threshold(Image,Mean,Points,25,'light') rank_region(Points,Textur,15,15,30) gen_circle(Mask,10,10,3) opening(Textur,Mask,Seg)
Sei F die Fläche der Eingaberegion, dann ist die Laufzeitkomplexität: O(F * 8).
rank_region
liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt
sind. 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
closing_rectangle1
,
expand_region
Foundation