Grauwerte

Liste der Operatoren ↓

Dieses Kapitel beschreibt Operatoren der Grauwertmorphologie.

Konzept der Grauwertmorphologie

Grauwertmorpholgie stellt eine Reihe an Operatoren zur Verfügung, welche nicht-lineare Bildtransformationen ermöglichen, indem sie die Pixelwerte der Eingabebilder in Abhängigkeit ihrer Nachbarschaft verändern. Morphologische Operatoren können beispielsweise dazu verwendet werden bestimmte Bildmerkmale zu betonen oder abzuschwächen.

Im Gegensatz zu den Operatoren im Kapitel Morphologie / Region sind morphologische Grauwertoperatoren nicht auf Binärbilder beschränkt. Daher kann die Grauwertmorphologie als eine Generalisierung der Regionenmorphologie bezeichnet werden. Die morphologischen Operatoren werden in den folgenden Abschnitten näher erläutert.

Dilatation und Erosion von Grauwertbildern

Wird eine Dilatation oder Erosion durchgeführt, so wird jedem Pixel des Eingangsbildes ein Wert zugeordnet, der aus den Grauwerten der benachbarten Pixel abgeleitet wird. Welche Bildpunkte zur Nachbarschaft zählen wird durch die Form und Fläche des verwendeten Strukturelements definiert. Der Referenzpunkt des Strukturelements liegt dabei auf dem aktuell betrachteten Pixel. Bei einer Dilatation wird jedem Pixel der maximale, bei einer Erosion der minimale Grauwert seiner Nachbarschaft zugeordnet. Folglich werden helle Bereiche des Eingangsbildes durch eine Dilatation vergrößert, während eine Erosion dunklere Bildbereiche betont.

(1) (2) (3) (4)
(1) Eingangsbild, (2) Strukturelement mit Referenzpunkt im Zentrum, (3) Ergebnis einer Erosion, (4) Ergebnis einer Dilatation.

Folgende Operatoren können zur Dilatation oder Erosion eines Bildes genutzt werden:

Morphologischer Operator Strukturelement
gray_dilationgray_dilationGrayDilationGrayDilationGrayDilationgray_dilation gray_erosiongray_erosionGrayErosionGrayErosionGrayErosiongray_erosion beliebig
gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRectgray_dilation_rect gray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRectGrayErosionRectgray_erosion_rect Rechteck
gray_dilation_shapegray_dilation_shapeGrayDilationShapeGrayDilationShapeGrayDilationShapegray_dilation_shape gray_erosion_shapegray_erosion_shapeGrayErosionShapeGrayErosionShapeGrayErosionShapegray_erosion_shape Raute/Rechteck/Oktagon

Morphologische Grauwertoperatoren sind häufig Teil der Bildvorverarbeitung und werden genutzt, um die Extraktion von Informationen zu erleichtern oder erst zu ermöglichen. Im folgenden Beispiel wird ein Fall aufgezeigt, in dem eine Grauwert- Erosion notwendig ist um einen Datacode automatisch einlesbar zu machen. Die Code-Module im Eingangsbild weisen zu große Abstände zueinander auf, um für das zur Entschlüsselung gewählte Datenmodell verwendet werden zu können. Daher müssen die lokalen Minima im Bild in geeigneter Form vergrößert werden. Dazu wird eine Grauwert-Erosion mit einem quadratischen Strukturelement durchgeführt. Wie stark die Abstände zwischen den Modulen verringert werden müssen hängt von dem mit create_data_code_2d_modelcreate_data_code_2d_modelCreateDataCode2dModelCreateDataCode2dModelCreateDataCode2dModelcreate_data_code_2d_model erstellten Datenmodell ab, in dem die maximal zulässige Lücke zwischen den Code-Elementen definiert ist.

(1) (2) (3)
(1) Eingangsbild des Datacodes, (2) Erosion mit quadratischem Strukturelement, (3) Entschlüsselung des Datacodes mit Hilfe des erzeugten Datenmodells. Die Bilder stammen aus dem Beispielprogramm 2d_data_codes_minimize_module_gaps.hdev.

Opening und Closing

Bei einem Grauwert-Opening bzw. Grauwert-Closing handelt es sich jeweils um eine Kombination der oben erläuterten Operatoren. Als Opening bezeichnet man dabei die aufeinanderfolgende Durchführung einer Erosion und einer Dilatation, während das Bild bei einem Closing zunächst dilatiert und danach erodiert wird. Wie auf den Beispielbildern zu erkennen ist, werden Bildbereiche, die im Vergleich zu ihrer Nachbarschaft dunkler sind, durch gray_closinggray_closingGrayClosingGrayClosingGrayClosinggray_closing reduziert oder sogar entfernt, während gray_openinggray_openingGrayOpeningGrayOpeningGrayOpeninggray_opening hellere Bereiche reduziert. Zudem können durch die Verwendung des passenden Strukturelements Formen erhalten bleiben während ungewollte Artefakte entfernt werden.

(1) (2) (3) (4)
(1) Eingangsbild, (2) Strukturelement mit Referenzpunkt im Zentrum, (3) Closing des Eingangsbildes, (4) Opening des Eingangsbildes.

Weitere Operatoren

Um die Bildbereiche, die von einem Opening bzw. Closing betroffen sind, genauer zu betrachten, kann gray_tophatgray_tophatGrayTophatGrayTophatGrayTophatgray_tophat bzw. gray_bothatgray_bothatGrayBothatGrayBothatGrayBothatgray_bothat genutzt werden. Diese Operatoren bilden die Differenz zwischen dem Originalbild und dem durch ein Opening bzw. Closing transformierten Bild. Außerdem können Bildmerkmale, die dem Strukturelement ähneln, detektiert werden.

Der Operator gray_range_rectgray_range_rectGrayRangeRectGrayRangeRectGrayRangeRectgray_range_rect ermöglicht es feine Strukturen auf gleichmäßigen Oberflächen ausfindig zu machen, indem er die lokale Variation der Grauwerte visualisiert.

(1) (2) (3)
(1) Ergebnis der Top-Hat-Transformation, (2) Ergebnis der Bottom-Hat-Transformation, (3) Lokale Grauwert-Variation.

Mit Hilfe des dual_rankdual_rankDualRankDualRankDualRankdual_rank-Operators kann eine abgeschwächte Form eines Openings oder Closings ausgeführt werden. Die Steuerung dieser Transformation erfolgt über den Parameter ModePercentModePercentModePercentModePercentmodePercentmode_percent.

(1) (2) (3) (4) (5)
Dual Rank Operator: (1) ModePercentModePercentModePercentModePercentmodePercentmode_percent = 0 (entspricht Opening), (2) ModePercentModePercentModePercentModePercentmodePercentmode_percent = 25, (3) ModePercentModePercentModePercentModePercentmodePercentmode_percent = 50 (entspricht Median), (4) ModePercentModePercentModePercentModePercentmodePercentmode_percent = 75, (5) ModePercentModePercentModePercentModePercentmodePercentmode_percent = 100 (entspricht Closing).

Glossar

Im Folgenden werden die wichtigsten Begriffe, die im Zusammenhang mit Grauwertmorphologie verwendet werden, beschrieben.

nicht-linearer Operator

Operator, der die Struktur des Eingangsbildes nicht notwendigerweise erhält.

Strukturelement

Region, die zum Abtasten des Eingangsbildes verwendet wird.


Liste der Operatoren

dual_rankDualRankdual_rankDualRankdual_rank
Opening, Median und Closing mit Kreis- oder Rechteckmaske.
gen_disc_seGenDiscSegen_disc_seGenDiscSegen_disc_se
Erzeugen eines ellipsoidförmigen strukturierenden Elements für die Grauwertmorphologie.
gray_bothatGrayBothatgray_bothatGrayBothatgray_bothat
Ausführen einer Bottom-Hat-Transformation auf Bildern.
gray_closingGrayClosinggray_closingGrayClosinggray_closing
Ausführen eines Grauwert-Closings auf Bildern.
gray_closing_rectGrayClosingRectgray_closing_rectGrayClosingRectgray_closing_rect
Grauwert-Closing mit einer rechteckigen Filtermaske.
gray_closing_shapeGrayClosingShapegray_closing_shapeGrayClosingShapegray_closing_shape
Grauwert-Closing mit einer ausgewählten Maske.
gray_dilationGrayDilationgray_dilationGrayDilationgray_dilation
Ausführen einer Grauwert-Dilatation auf Bildern.
gray_dilation_rectGrayDilationRectgray_dilation_rectGrayDilationRectgray_dilation_rect
Maximum der Grauwerte in einem Rechteck.
gray_dilation_shapeGrayDilationShapegray_dilation_shapeGrayDilationShapegray_dilation_shape
Maximum der Grauwerte in einer ausgewählten Maske.
gray_erosionGrayErosiongray_erosionGrayErosiongray_erosion
Ausführen einer Grauwert-Erosion auf Bildern.
gray_erosion_rectGrayErosionRectgray_erosion_rectGrayErosionRectgray_erosion_rect
Minimum der Grauwerte in einem Rechteck.
gray_erosion_shapeGrayErosionShapegray_erosion_shapeGrayErosionShapegray_erosion_shape
Minimum der Grauwerte in einer ausgewählten Maske.
gray_openingGrayOpeninggray_openingGrayOpeninggray_opening
Ausführen eines Grauwert-Openings auf Bildern.
gray_opening_rectGrayOpeningRectgray_opening_rectGrayOpeningRectgray_opening_rect
Grauwert-Opening mit einer rechteckigen Filtermaske.
gray_opening_shapeGrayOpeningShapegray_opening_shapeGrayOpeningShapegray_opening_shape
Grauwert-Opening mit einer ausgewählten Filtermaske.
gray_range_rectGrayRangeRectgray_range_rectGrayRangeRectgray_range_rect
Maximale Amplitude der Grauwerte in einem Rechteck.
gray_tophatGrayTophatgray_tophatGrayTophatgray_tophat
Ausführen einer Top-Hat-Transformation auf Bildern.
read_gray_seReadGraySeread_gray_seReadGraySeread_gray_se
Laden von strukturierenden Elementen für die Grauwertmorphologie.