dual_rank
— Opening, Median und Closing mit Kreis- oder Rechteckmaske.
dual_rank
führt eine nichtlineare Transformation der
Grauwerte aller Eingabebilder (Image
) durch. Als
strukturierende Elemente können Kreise oder Quadrate verwendet
werden. dual_rank
ist die Hintereinanderschaltung von
zwei Aufrufen von rank_image
. Bei dem ersten Aufruf wird
der Ranggrauwert mit dem angegeben Rang (ModePercent
)
berechnet. Das Ergebnis dieser Berechnung ist die Eingabe zu einem
erneuten Aufruf von rank_image
, wobei diesmal der Rangwert
100-ModePercent
verwendet wird.
Es kann bei der Filterung zwischen verschiedenen Randbehandlungen
(Margin
) gewählt werden:
Grauwert Bildpunkte außerhalb der Bildränder
werden als konstant (mit dem angegebenen
Grauwert) angenommen.
'continued' Fortsetzung der Randpunkte.
'cyclic' zyklische Fortsetzung der Bildränder.
'mirrored' Spiegelung der Bildpunkte an den Bildrändern.
Die Berechnung einer Rangfilterung erfolgt nach folgendem Schema:
Die angegebene Maske wird so über das zu filterndes Bild geschoben,
dass der Schwerpunkt der Maske alle Bildpunkte einmal berührt.
Für jeden solchen Bildpunkt werden alle Nachbarpunkte, die von der
Maske überdeckt werden, bzgl. ihrer Grauwerte aufsteigend
sortiert. Jede solche sortierte Sequenz von Grauwerten enthält
somit genau so viele Grauwerte, wie die Maske Bildpunkte hat. Aus
diesen Sequenzen wird das n-größte Element (=
ModePercent
, Rangwert von 0...100 in Prozent)
ausgewählt und als Ergebnisgrauwert bei dem jeweiligen Ausgabebild
eingetragen.
Hat ModePercent
den Wert 0, so erhält man ein
Grauwert-Opening (gray_opening
). Setzt man
ModePercent
auf 50, so erhält man den bekannten
Medianfilter (median_image
), zweimal hintereinander
angewandt. Bei dem Wert 100 berechnet dual_rank
das
Grauwert-Closing (gray_closing
). Mit den übrigen
Parametern kann fließend zwischen zwischen diesen Operationen
„überblendet“ werden.
Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.
Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.
Image
(input_object) (multichannel-)image(-array) →
object (byte / int2 / uint2 / int4 / real)
Zu filterndes Bild.
ImageRank
(output_object) multichannel-image(-array) →
object (byte / int2 / uint2 / int4 / real)
Gefiltertes Bild.
MaskType
(input_control) string →
(string)
Form der Maske.
Defaultwert: 'circle'
Werteliste: 'circle' , 'square'
Radius
(input_control) integer →
(integer)
Radius der Filtermaske.
Defaultwert: 1
Wertevorschläge: 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 15, 19, 25, 31, 39, 47, 59
Typischer Wertebereich: 1
≤
Radius
≤
101
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
ModePercent
(input_control) integer →
(integer)
Modus des Filters: Bei 0 erhält man ein Grauwert-Opening, bei 50 einen Median und bei 100 ein Grauwert-Closing.
Defaultwert: 10
Wertevorschläge: 0, 2, 5, 10, 15, 20, 40, 50, 60, 80, 85, 90, 95, 98, 100
Typischer Wertebereich: 0
≤
ModePercent
≤
100
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
Margin
(input_control) string →
(string / integer / real)
Randbehandlung.
Defaultwert: 'mirrored'
Wertevorschläge: 'mirrored' , 'cyclic' , 'continued' , 0, 30, 60, 90, 120, 150, 180, 210, 240, 255
read_image(Image,'fabrik') dual_rank(Image,ImageOpening,'circle',10,10,'mirrored') dev_display(ImageOpening)
Pro Bildpunkt: mit F = Fläche des strukturierenden Elementes.
Sind die Parameterwerte korrekt, dann liefert dual_rank
den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine
Eingabebilder vorhanden) lässt sich mittels
set_system('no_object_result',<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
threshold
,
dyn_threshold
,
sub_image
,
regiongrowing
rank_image
,
gray_closing
,
gray_opening
,
median_image
gen_circle
,
gen_rectangle1
,
gray_erosion_rect
,
gray_dilation_rect
,
sigma_image
W. Eckstein, O. Munkelt „Extracting Objects from Digital Terrain Model“ Remote Sensing and Reconstruction for Threedimensional Objects and Scenes, SPIE Symposium on Optical Science, Engeneering, and Instrumentation, July 1995, San Diego
Foundation