Übungen: Bildverarbeitung - Lokale Operatoren
Diese Übungen trainieren die lokalen Bildoperatoren (local image operators) aus Kapitel 12: die Faltung (convolution) mit Mittelwert-, Gauss-, Laplace-, Sobel- und Schärfungs-Kernel, die nicht-linearen Rangordnungsoperatoren (rank-order operators) Median, Dilatation und Erosion samt Opening/Closing sowie die Segmentierung über Zusammenhangskomponenten (ZHK, connected components) mit N4 vs N8 und Flood Fill. Rechne jede Faltung Zelle fuer Zelle nach. Alle Pixelgitter sind hier als Markdown-Tabellen dargestellt; jeder Wert ist ein Grauwert (gray value) im Bereich .
Beginner
Aufgabe 1 (Beginner) - Warum ungerade Kernelgrössen
Kernel sind praktisch immer 3x3, 5x5 oder 7x7, nie 2x2 oder 4x4. Begründe, warum lokale Operatoren eine ungerade Kantenlänge brauchen. Was ginge bei einem 4x4-Kernel schief?
Lösung anzeigen
Nur bei ungerader Kantenlänge hat der Kernel genau ein Zentrum (central pixel). Die Faltung ersetzt den Zentralpixel eindeutig durch das berechnete Ergebnis .
- Bei einem 3x3-Kernel liegt das Zentrum auf der mittleren Zelle (Position 2 von 3).
- Bei einem 4x4-Kernel läge das Zentrum zwischen vier Pixeln. Es gibt keinen eindeutigen Zielpixel; das Ergebnis würde sich um einen halben Pixel verschieben (Verschiebungsfehler von einem halben Pixel in x- und y-Richtung).
Deshalb verwendet man 3x3, 5x5, 7x7 usw.
Typischer Fehler: Kernel mit gerader Kantenlänge verwenden. Kein eindeutiges Zentrum bedeutet eine systematische Verschiebung des Bildes.
Aufgabe 2 (Beginner) - Mittelwert vs Median konzeptuell
Ein Bild enthält Impulsrauschen (impulse noise): einzelne, stark abweichende Störpixel. Warum ist der Medianoperator (median filter) dem Mittelwertoperator (mean filter) hier überlegen? Nenne den entscheidenden Unterschied bezüglich der Kanten.
Lösung anzeigen
- Der Mittelwertoperator bildet die gewichtete Summe (Durchschnitt) aller 9 Werte. Ein Ausreisser fliesst voll mit ein und zieht das Ergebnis in seine Richtung; zusätzlich verschmiert der Filter den Störwert auf die Nachbarpixel. Kanten werden ebenfalls verwaschen (blur).
- Der Medianoperator sortiert die 9 Werte () und nimmt den mittleren Wert . Ein einzelner Ausreisser wandert beim Sortieren an den Rand der Liste ( oder ) und wird nie ausgewählt. Das Impulsrauschen verschwindet vollständig.
Entscheidender Vorteil: Der Median verwischt die Kanten nicht (nicht-linear, Sortierung statt gewichteter Summe), während der Mittelwert Kanten verschmiert.
Tipp: Klassische Prüfungsfrage. Merksatz: Median = Rauschen weg und Kanten scharf; Mittelwert = Rauschen gedämpft aber Kanten unscharf.
Aufgabe 3 (Beginner) - Mittelwertoperator auf ein 3x3-Fenster anwenden
Der Mittelwert-Kernel lautet
Wende ihn auf das folgende 3x3-Fenster an und berechne den neuen Grauwert des Zentralpixels (Wert 90).
| 60 | 60 | 60 |
| 90 | 90 | 90 |
| 120 | 120 | 120 |
Lösung anzeigen
Der Mittelwertoperator addiert alle 9 Werte und teilt durch 9:
Der Zentralpixel bleibt bei 90. Das ist kein Zufall: Bei einem linearen Grauwertverlauf (hier 60 / 90 / 120 pro Zeile) ist der Mittelwert gleich dem Zentralwert. Der Mittelwertoperator lässt glatte Verläufe unverändert und wirkt nur dort, wo es Abweichungen (Rauschen, Kanten) gibt.
Typischer Fehler: Normierungsfaktor weglassen. Ohne Normierung läge weit ausserhalb und müsste erst zurücktransformiert werden.
Fortgeschritten
Aufgabe 4 (Fortgeschritten) - Mittelwert vs Median am Störpixel
Gegeben ein 5x5-Bild mit einem einzelnen hellen Störpixel (255) in ansonsten homogen dunkler Fläche (10):
| 10 | 10 | 10 | 10 | 10 |
| 10 | 10 | 10 | 10 | 10 |
| 10 | 10 | 255 | 10 | 10 |
| 10 | 10 | 10 | 10 | 10 |
| 10 | 10 | 10 | 10 | 10 |
Berechne für den Zentralpixel (Zeile 3, Spalte 3, Wert 255):
- das Ergebnis des Mittelwertoperators (),
- das Ergebnis des Medianoperators ().
Was passiert zusätzlich mit einem direkten Nachbarn des Störpixels beim Mittelwertoperator?
Lösung anzeigen
1. Mittelwert am Zentrum. Das 3x3-Fenster um das Zentrum enthält acht Mal die 10 und einmal die 255:
2. Median am Zentrum. Die 9 Werte sortiert:
Der Median ist . Der Störwert 255 landet als am Rand und wird nicht ausgewählt.
Zusatz: Nachbar beim Mittelwert. Betrachte den linken Nachbarn (Zeile 3, Spalte 2, Wert 10). Sein 3x3-Fenster enthält den Störpixel 255 als rechten Nachbarn, also wieder acht Mal 10 und einmal 255:
Der Mittelwertoperator verschmiert den Störwert auf die Nachbarschaft (aus einem hellen Pixel werden mehrere angehobene Pixel). Der Median tut das nicht.
Tipp: Merke das Zahlenpaar 37 (Mittelwert) vs 10 (Median) fuer das Impuls-Beispiel. Der Median entfernt den Ausreisser vollständig und lässt die Fläche exakt bei 10.
Aufgabe 5 (Fortgeschritten) - Laplace-Operator an einer Kante
Der Laplace-Kernel (2. Ableitung, isotrop) lautet
Gegeben ein Bild mit einer senkrechten Kante zwischen Spalte 2 (Wert 10) und Spalte 3 (Wert 50):
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
Berechne (ohne Rücktransformation) für die drei inneren Pixel der mittleren Zeile (Zeile 3): (a) Spalte 2 (Wert 10), (b) Spalte 3 (Wert 50), (c) Spalte 4 (Wert 50). Interpretiere das Vorzeichen.
Lösung anzeigen
Der Laplace addiert die vier N4-Nachbarn und zieht das Vierfache des Zentrums ab:
(a) Zeile 3, Spalte 2 (Wert 10), dunkle Seite der Kante): oben = 10, unten = 10, links = 10, rechts = 50, Zentrum = 10.
(b) Zeile 3, Spalte 3 (Wert 50), helle Seite der Kante): oben = 50, unten = 50, links = 10, rechts = 50, Zentrum = 50.
(c) Zeile 3, Spalte 4 (Wert 50), homogenes Inneres): oben = 50, unten = 50, links = 50, rechts = 50, Zentrum = 50.
Interpretation: In der homogenen Fläche (c) ist (Kernelsumme = 0, keine Kante). An der Kante entstehen entgegengesetzte Vorzeichen: auf der dunklen Seite, auf der hellen Seite. Der Nulldurchgang (zero crossing) zwischen und markiert die exakte Kantenlage. Das ist typisch fuer die 2. Ableitung.
Typischer Fehler: 1. und 2. Ableitung verwechseln. Differenz/Sobel (1. Ableitung) liefern einen Peak an der Kante; Laplace (2. Ableitung) liefert einen Nulldurchgang zwischen zwei entgegengesetzten Ausschlägen.
Aufgabe 6 (Fortgeschritten) - Gauss vs Mittelwert am selben Fenster
Der Gauss-Kernel (3x3, Normierung ) gewichtet die Mitte stärker:
Berechne für das folgende Fenster (a) das Gauss-Ergebnis und (b) das Mittelwert-Ergebnis () des Zentralpixels (Wert 32). Vergleiche.
| 16 | 16 | 16 |
| 16 | 32 | 16 |
| 16 | 16 | 16 |
Lösung anzeigen
(a) Gauss. Ecken (Gewicht 1), Kanten (Gewicht 2), Zentrum (Gewicht 4):
(b) Mittelwert. Acht Mal 16 und einmal 32:
Vergleich: Gauss liefert 20, Mittelwert 18. Weil der Gauss die Mitte vierfach gewichtet, bleibt der erhöhte Zentralwert (32) stärker erhalten als beim Mittelwert, der alle Nachbarn gleich behandelt. Der Gauss zeichnet dadurch weicher und natürlicher (kein hartes Box-Blur-Rechteck).
Tipp: Prüfe die Kernelsumme als Kontrolle: Gauss (daher ); Mittelwert (daher ).
Anspruchsvoll
Aufgabe 7 (Anspruchsvoll) - Sobel-Operator und Kantenbreite
Der Sobel-x-Kernel detektiert vertikale Kanten (mit Puffer-Zeilen fuer Rauschrobustheit):
Nimm dasselbe Kantenbild wie in Aufgabe 5:
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
| 10 | 10 | 50 | 50 | 50 |
- Berechne für die drei inneren Pixel der mittleren Zeile (Zeile 3): Spalte 2, Spalte 3, Spalte 4.
- Bilde jedes Ergebnis mit zurück.
- Was zeigt der Vergleich der Spalten 2 und 3 über die Kantenbreite?
Lösung anzeigen
Sobel-x nimmt (rechte Spalte des Fensters) minus (linke Spalte); die mittlere Spalte hat Gewicht 0:
Spalte 2 (Zentrum Wert 10): linke Spalte = Spalte 1 (drei Mal 10 = 30), rechte Spalte = Spalte 3 (drei Mal 50 = 150).
Spalte 3 (Zentrum Wert 50): linke Spalte = Spalte 2 (drei Mal 10 = 30), rechte Spalte = Spalte 4 (drei Mal 50 = 150).
Spalte 4 (Zentrum Wert 50, homogenes Inneres): linke Spalte = Spalte 3 (drei Mal 50 = 150), rechte Spalte = Spalte 5 (drei Mal 50 = 150).
Kantenbreite: Sowohl Spalte 2 als auch Spalte 3 liefern die volle Kantenantwort (, ). Die Kante wird also zwei Pixel breit markiert. Das ist die typische Eigenschaft des Sobel-Operators: rauschrobust dank Puffer-Spalte, aber mehrere Pixel breit. Der reine Differenzoperator markierte dieselbe Kante nur 1 Pixel breit, wäre aber rauschanfälliger. In der homogenen Fläche (Spalte 4) ergibt sich Mittelgrau 127 (keine Kante).
Typischer Fehler: Bei vergessen, dass vorzeichenbehaftet in liegt. ergibt Mittelgrau 127, nicht 0.
Tipp: Fuer die Hough-Transformation stören mehrere Pixel breite Kanten (doppelte Geraden). Deshalb dünnt man Sobel-Kanten nachträglich auf 1 Pixel aus (Canny Edge Detector).
Aufgabe 8 (Anspruchsvoll) - Zusammenhangskomponenten N4 vs N8 zählen
Gegeben ein binäres 4x4-Bild (1 = Vordergrund, 0 = Hintergrund):
| 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 |
Zähle die Zusammenhangskomponenten (ZHK) des Vordergrunds einmal mit 4er-Nachbarschaft (N4) und einmal mit 8er-Nachbarschaft (N8). Erkläre die Differenz.
Lösung anzeigen
Die sechs Vordergrundpixel (Zeile, Spalte, 1-basiert) sind: (1,1), (1,4), (2,2), (3,3), (4,1), (4,4).
N4 (nur oben/unten/links/rechts). Prüfe jeden Pixel auf orthogonale Vordergrund-Nachbarn:
- (1,1): rechts (1,2)=0, unten (2,1)=0 -> isoliert
- (1,4): links (1,3)=0, unten (2,4)=0 -> isoliert
- (2,2): alle vier N4-Nachbarn = 0 -> isoliert
- (3,3): alle vier N4-Nachbarn = 0 -> isoliert
- (4,1): oben (3,1)=0, rechts (4,2)=0 -> isoliert
- (4,4): oben (3,4)=0, links (4,3)=0 -> isoliert
Kein Pixel ist mit einem anderen N4-verbunden -> 6 ZHK.
N8 (inklusive Diagonalen).
- (1,1) - (2,2) - (3,3) - (4,4) berühren sich jeweils diagonal und bilden eine durchgehende Kette (die Hauptdiagonale).
- (1,4): einzige diagonale Nachbarposition mit Vordergrund wäre (2,3), aber (2,3)=0 -> isoliert.
- (4,1): diagonale Nachbarposition (3,2)=0 -> isoliert.
Ergebnis: die Diagonalkette + (1,4) + (4,1) = 3 ZHK.
| Ebene | mit N4 | mit N8 |
|---|---|---|
| Vordergrund | 6 ZHK | 3 ZHK |
Erklärung: Unter N4 zählen diagonale Berührungen nicht, jeder Pixel bleibt fuer sich. Unter N8 verbinden Diagonalen die vier Pixel der Hauptdiagonale zu einer einzigen Komponente. Dasselbe Muster liefert je nach Nachbarschaft stark unterschiedliche Komponentenzahlen.
Typischer Fehler: Diagonale Berührungen unter N4 doch als verbunden zählen. Unter N4 zählen nur die vier direkt anliegenden (kreuzförmigen) Nachbarn.
Aufgabe 9 (Anspruchsvoll) - Median auf ein Fenster mit Ausreisser
Wende den Medianoperator (N8, Rangposition ) auf das folgende Fenster an. Berechne zusätzlich das Mittelwert-Ergebnis und begründe, welcher Operator hier den echten Bildinhalt besser bewahrt.
| 50 | 50 | 200 |
| 50 | 50 | 50 |
| 50 | 60 | 50 |
Lösung anzeigen
Die 9 Werte: 50, 50, 200, 50, 50, 50, 50, 60, 50.
Median. Sortiert:
Median . Der Ausreisser 200 landet als , die leichte Abweichung 60 als ; beide werden nicht gewählt.
Mittelwert.
Begründung: Der echte Bildinhalt ist eine homogene Fläche um 50. Der Median liefert exakt 50 und ignoriert den Störwert 200 vollständig. Der Mittelwert wird durch die 200 auf 68 hochgezogen, also deutlich verfälscht. Bei Impulsrauschen bewahrt der Median den Bildinhalt besser.
Tipp: Bei N8 (9 Werten) ist der Median immer der 5. Wert der sortierten Liste (, Index 0-basiert). Zähle beim Sortieren die Werte doppelt nach.
Klausur-Niveau
Aufgabe 10 (Klausur-Niveau) - Schärfungs-Kernel und Rücktransformation
Der Kontrastverbesserungsfilter / Sharpening-Kernel (, helligkeitserhaltend, Kernelsumme = 1) lautet
Wende ihn auf das folgende Fenster an (Zentralpixel Wert 100, umgeben von Fläche 50):
| 50 | 50 | 50 |
| 50 | 100 | 50 |
| 50 | 50 | 50 |
- Berechne (zeige jeden Summanden).
- Warum ist eine Rücktransformation nötig, und wie sieht das Ergebnis nach Clipping aus?
- Wie hängt dieser Überschwinger mit dem Mach-Band-Effekt zusammen?
Lösung anzeigen
1. Faltung. Nur das Zentrum (Gewicht 5) und die vier N4-Nachbarn (Gewicht ) tragen bei; die Ecken haben Gewicht 0:
2. Rücktransformation. Das Ergebnis liegt über 255 und ist als Grauwert nicht darstellbar. Nötig ist eine Rücktransformation (Clipping oder lineare Abbildung). Beim Clipping:
Der Zentralpixel wird also von 100 auf das Maximum 255 angehoben: eine starke Kontrastanhebung genau an der hellen Spitze.
3. Mach-Band-Bezug. Der Schärfungs-Kernel wurde so konstruiert, dass er Kanten so betont, wie das menschliche Auge sie durch den Mach-Band-Effekt (Ernst Mach, 1865) ohnehin wahrnimmt: die helle Seite wird heller, die dunkle Seite dunkler (Over- und Undershoot an der Kante). Der überhöhte Wert (hier 300, im Kapitelbeispiel 320) ist genau der gewünschte Schärfungseffekt, kein Rechenfehler.
Hinweis: Der Kapitel-Worked-Example kommt mit Zentralpixel 105 und Zero-Padding am Rand auf . Diese Übung nutzt bewusst ein sauberes inneres Fenster (Ergebnis 300), damit alle vier Nachbarn im Bild liegen und kein Randproblem auftritt.
Typischer Fehler: Normierung/Rücktransformation weglassen und Werte über 255 unverändert stehen lassen. Bei Kernelsumme 1 bleibt die mittlere Helligkeit erhalten, einzelne Kantenwerte können aber über 255 hinausschiessen.
Aufgabe 11 (Klausur-Niveau) - ZHK mit entgegengesetzter Nachbarschaft
Gegeben ein binäres 3x3-Bild (1 = Vordergrund, 0 = Hintergrund):
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
- Zähle die Vordergrund-ZHK mit N4 und mit N8.
- Zähle die Hintergrund-ZHK mit N4 und mit N8.
- Die prüfungsrelevante Regel verlangt entgegengesetzte Nachbarschaften fuer Vorder- und Hintergrund. Welche der beiden Paarungen (Vordergrund N8 / Hintergrund N4) oder (Vordergrund N4 / Hintergrund N8) ist topologisch konsistent, und warum?
Lösung anzeigen
Vordergrundpixel: (1,3), (2,2), (3,1) - die Antidiagonale. Hintergrundpixel: (1,1), (1,2), (2,1), (2,3), (3,2), (3,3).
1. Vordergrund.
- N4: (1,3), (2,2), (3,1) berühren sich nur diagonal, unter N4 also 3 ZHK (drei isolierte Punkte).
- N8: die drei Punkte bilden über die Diagonalen eine durchgehende Linie -> 1 ZHK.
2. Hintergrund.
- N4: obere Gruppe (1,1)-(1,2)-(2,1) hängt orthogonal zusammen; untere Gruppe (2,3)-(3,3)-(3,2) hängt orthogonal zusammen. Zwischen beiden Gruppen gibt es nur diagonale Berührungen (z.B. (1,2)/(2,3)), die unter N4 nicht zählen -> 2 ZHK.
- N8: die Diagonalberührung (1,2)-(2,3) (und (2,1)-(3,2)) verbindet beide Gruppen -> 1 ZHK.
| Ebene | mit N4 | mit N8 |
|---|---|---|
| Vordergrund | 3 ZHK | 1 ZHK |
| Hintergrund | 2 ZHK | 1 ZHK |
3. Konsistente Paarung. Beide zulässigen Paarungen sind topologisch konsistent, weil sie zueinander passende Aussagen liefern:
- Vordergrund N8 (1 Linie) / Hintergrund N4 (2 Regionen): Eine durchgehende diagonale Linie trennt die Fläche in zwei Hintergrundgebiete (oben-links, unten-rechts). Eine verbindende Kurve, die den Hintergrund teilt - konsistent (Jordan-Kurven-Logik).
- Vordergrund N4 (3 Punkte) / Hintergrund N8 (1 Region): Drei isolierte Punkte trennen nichts; der Hintergrund bleibt ein einziges zusammenhängendes Gebiet - ebenfalls konsistent.
Inkonsistent wäre dieselbe Nachbarschaft fuer beide Ebenen, z.B. beide N4: dann wären es 3 isolierte Vordergrundpunkte, die aber gleichzeitig den Hintergrund in 2 Regionen trennen. Isolierte Punkte können nichts trennen - ein Widerspruch. Deshalb gilt: Vordergrund N4 Hintergrund N8 und umgekehrt.
Typischer Fehler: Fuer Vorder- und Hintergrund dieselbe Nachbarschaft verwenden. Nur die entgegengesetzte Wahl ergibt eine topologisch widerspruchsfreie Aufteilung.
Aufgabe 12 (Klausur-Niveau) - Multiple Choice: Operatoren richtig zuordnen
Wähle jeweils die richtige Antwort und begründe kurz.
- Welcher Operator entfernt Impulsrauschen, ohne Kanten zu verwaschen? a) Mittelwert b) Gauss c) Median d) Laplace
- Dilatation (dilation) bewirkt: a) dunkle Bereiche wachsen b) helle Bereiche wachsen c) Kanten werden ausgedünnt d) Bild wird invertiert
- Opening dient dazu, ... a) Lücken in Objekten zu schliessen b) kleine isolierte Vordergrundpixel (Rauschen) zu entfernen c) Kanten zu verstärken d) das Bild zu binarisieren
- Der Nulldurchgang (zero crossing) liegt genau an der Kante bei ... a) der 1. Ableitung (Differenz/Sobel) b) der 2. Ableitung (Laplace) c) dem Mittelwertoperator d) dem Identitätsoperator
Lösung anzeigen
1. c) Median. Als nicht-linearer Rangordnungsoperator sortiert er die Werte und wählt ; ein Ausreisser wird nie ausgewählt, die Kante bleibt scharf. Mittelwert und Gauss (linear) verwaschen Kanten; Laplace ist ein Kantendetektor, kein Glätter.
2. b) helle Bereiche wachsen. Dilatation = Maximum (), die hellen Vordergrundobjekte dehnen sich um eine Pixelschicht aus. Erosion = Minimum (): dunkle Bereiche wachsen, weisse schrumpfen.
3. b) kleine isolierte Vordergrundpixel entfernen. Opening Erosion, danach Dilatation; die Erosion frisst kleine Störpixel weg, die Dilatation stellt die verbliebenen Objekte wieder her. Lücken schliessen ist die Aufgabe von Closing (erst Dilatation, dann Erosion). Die Reihenfolge der beiden Schritte ist ergebnisrelevant.
4. b) 2. Ableitung (Laplace). Der Nulldurchgang der 2. Ableitung markiert die Kante (vgl. Aufgabe 5: / mit Nulldurchgang an der Kante). Die 1. Ableitung (Differenz/Sobel) liefert dagegen einen Peak an der Kante.
Tipp: Merke die drei N8-Rangregeln: Median , Dilatation (Max, hell wächst), Erosion (Min, dunkel wächst). Und: Opening = Erosion dann Dilatation (Rauschen weg); Closing = Dilatation dann Erosion (Lücken zu).