Übungen: Bildverarbeitung - Punktoperatoren

Übungsaufgaben zu Punktoperatoren (point operators): Histogramme, lineare Grauwerttransformation (linear gray-value transform, LGT) / Kontrastspreizung (contrast stretching), Helligkeit (brightness), Invertierung (inversion), Binarisierung (thresholding) und Gamma-Korrektur (gamma correction). Jede Aufgabe hat eine ausklappbare Musterlösung mit vollständigem Rechenweg, Probe und Verweis auf Kapitel 11: Bildbearbeitung - Punktoperatoren. Rechne mit dem darstellbaren Bereich [gMIN,gMAX]=[0,255][g_{MIN}, g_{MAX}] = [0, 255], sofern nichts anderes steht.


Beginner

Aufgabe 1 (Beginner) - Kontrast, Dynamik, Helligkeit unterscheiden

Ordne den drei Begriffen Kontrast (contrast), Dynamik (dynamic range) und Bildhelligkeit (brightness) die passende Definition zu. Beantworte anschliessend: Ein Bild enthält nur die zwei Grauwerte 0 und 255 (je zur Hälfte). Ist der Kontrast hoch oder niedrig? Ist die Dynamik hoch oder niedrig?

Lösung anzeigen

Zuordnung:

BegriffDefinition
KontrastSpannweite (range) zwischen kleinstem und grösstem vorhandenem Grauwert: Δg=gmaxgmin\Delta g = g_{max} - g_{min}
DynamikAnzahl der verschiedenen genutzten Grauwerte (distinct levels)
Bildhelligkeitdurchschnittlicher Grauwert (Mittelwert / mean)

Das Beispielbild (nur 0 und 255):

  • Kontrast hoch: Δg=2550=255\Delta g = 255 - 0 = 255, also maximale Spannweite.
  • Dynamik niedrig: nur 2 verschiedene Grauwerte werden genutzt.

Dieses Bild zeigt genau den Fall aus dem Kapitel: hoher Kontrast bei geringer Dynamik. Beide Begriffe sind unabhängig.

Typischer Fehler: Kontrast und Dynamik gleichsetzen. Kontrast = Spannweite, Dynamik = Anzahl der Stufen. Ein Bild kann weit auseinanderliegende, aber nur wenige Grauwerte haben.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 2 (Beginner) - Invertierung berechnen

Invertiere (invert) die folgende Pixelzeile mit g(x,y)=gMAXg(x,y)g'(x,y) = g_{MAX} - g(x,y) und gMAX=255g_{MAX} = 255. Fülle die Tabelle aus.

gg064128200255
gg'?????
Lösung anzeigen

Jeder Ausgabewert ist g=255gg' = 255 - g:

gg064128200255
gg'255191127550

Beobachtungen:

  • Die Steigung (slope) der Abbildungsfunktion ist negativ (m=1m = -1), das ist das Kennzeichen der Invertierung im gg`-Diagramm.
  • Der mittlere Wert 128127128 \to 127 liegt praktisch fest (Spiegelachse), Ränder tauschen: Schwarz wird Weiss, Weiss wird Schwarz.
  • Das Histogramm wird an gMAXg_{MAX} gespiegelt: h(gi)=h(gMAXi)h(g_i') = h(g_{MAX-i}). Kontrast und Dynamik bleiben unverändert, da es sich um eine bijektive (eineindeutige) Abbildung handelt.

Tipp: Invertierung ist verfälschungsfrei (keine zwei Eingabewerte landen auf demselben Ausgabewert), weil die Gerade bijektiv ist.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 3 (Beginner) - Binarisierung mit Schwellwert

Binarisiere (threshold) die Pixelzeile mit dem Schwellwert gS=127g_S = 127. Regel: g=0g' = 0 falls g<gSg < g_S, sonst g=255g' = 255. Was passiert mit dem Ergebnis, wenn man stattdessen gS=180g_S = 180 wählt?

gg50120127150210
Lösung anzeigen

Mit gS=127g_S = 127 (Bedingung ggS255g \ge g_S \Rightarrow 255):

gg50120127150210
gg'00255255255

Der Wert g=127g = 127 erfüllt ggSg \ge g_S und wird daher zu 255 (Grenzfall gehört zum Vordergrund).

Mit gS=180g_S = 180:

gg50120127150210
gg'0000255

Ein höherer Schwellwert erzeugt mehr Schwarz (mehr Pixel fallen unter die Schwelle). Im gg`-Diagramm ist die Binarisierung eine Stufenfunktion (step function) an der Stelle gSg_S.

Typischer Fehler: Die Grenzfallbedingung falsch setzen. Standardmässig gilt ggSg \ge g_S \Rightarrow Vordergrund (weiss). Prüfe immer, ob im Aufgabentext \ge oder >> gefordert ist.

Binarisierung ist stark verfälschend: alle Grauwerte werden auf nur zwei Werte reduziert. Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.


Fortgeschritten

Aufgabe 4 (Fortgeschritten) - LGT aufstellen und Kontrast beurteilen

Stelle eine lineare Grauwerttransformation g=gmult+addg' = g \cdot \mathrm{mult} + \mathrm{add} auf, die das Eingabeintervall [gmin,gmax]=[40,200][g_{min}, g_{max}] = [40, 200] auf das Ausgabeintervall [gmin,gmax]=[0,240][g'_{min}, g'_{max}] = [0, 240] abbildet. Verifiziere beide Endpunkte. Wird das Bild kontrastreicher oder kontrastärmer?

Lösung anzeigen

Schritt 1 - Steigung (mult):

mult=gmaxgmingmaxgmin=240020040=240160=1,5\mathrm{mult} = \frac{g'_{max} - g'_{min}}{g_{max} - g_{min}} = \frac{240 - 0}{200 - 40} = \frac{240}{160} = 1{,}5

Schritt 2 - Achsenabschnitt (add): Allgemeine Form add=gmingminmult\mathrm{add} = g'_{min} - g_{min}\cdot \mathrm{mult}. Da gmin=0g'_{min} = 0, reduziert sich das auf die Kapitelformel add=gminmult\mathrm{add} = -g_{min}\cdot \mathrm{mult}:

add=0401,5=60\mathrm{add} = 0 - 40 \cdot 1{,}5 = -60

Transformation: g=1,5g60g' = 1{,}5 \cdot g - 60.

Probe (beide Endpunkte):

401,560=6060=0  2001,560=30060=240  40 \cdot 1{,}5 - 60 = 60 - 60 = 0 \;\checkmark \qquad 200 \cdot 1{,}5 - 60 = 300 - 60 = 240 \;\checkmark

Kontrasturteil: mult=1,5>1\mathrm{mult} = 1{,}5 > 1, die Gerade ist steiler als die Winkelhalbierende, das Bild wird kontrastreicher (der Wertebereich wird von 160 auf 240 Einheiten gespreizt).

Tipp: Immer beide Endpunkte einsetzen. Trifft nur einer, ist meist der add-Term falsch.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 5 (Fortgeschritten) - Kontrastreduktion und Histogrammform

Eine LGT bildet das volle Intervall [0,200][0, 200] auf [50,150][50, 150] ab. Berechne mult\mathrm{mult} und add\mathrm{add}, prüfe die Endpunkte und beschreibe, wie sich das Histogramm dabei verändert.

Lösung anzeigen

Steigung:

mult=150502000=100200=0,5\mathrm{mult} = \frac{150 - 50}{200 - 0} = \frac{100}{200} = 0{,}5

Achsenabschnitt (hier gmin=500g'_{min} = 50 \ne 0, also die allgemeine Formel nutzen):

add=gmingminmult=5000,5=50\mathrm{add} = g'_{min} - g_{min}\cdot \mathrm{mult} = 50 - 0 \cdot 0{,}5 = 50

Transformation: g=0,5g+50g' = 0{,}5 \cdot g + 50.

Probe:

00,5+50=50  2000,5+50=100+50=150  0 \cdot 0{,}5 + 50 = 50 \;\checkmark \qquad 200 \cdot 0{,}5 + 50 = 100 + 50 = 150 \;\checkmark

Kontrast: mult=0,5<1\mathrm{mult} = 0{,}5 < 1, das Bild wird kontrastärmer (Steigung flacher als die Winkelhalbierende).

Histogrammform: Der Ausgabebereich (100 Einheiten) ist schmaler als der Eingabebereich (200 Einheiten). Das Histogramm wird zusammengeschoben (komprimiert) in das Fenster [50,150][50, 150]. Weil mult=0,5\mathrm{mult} = 0{,}5 ist, werden benachbarte Eingabewerte teilweise auf denselben Ausgabewert gerundet, es entstehen Histogrammspitzen (Kämme / peaks) und die Dynamik sinkt.

Typischer Fehler: Bei gmin0g'_{min} \ne 0 die Kurzformel add=gminmult\mathrm{add} = -g_{min}\cdot \mathrm{mult} verwenden. Diese gilt nur, wenn der Ausgabebereich bei 0 beginnt. Sonst die allgemeine Form add=gmingminmult\mathrm{add} = g'_{min} - g_{min}\cdot \mathrm{mult} nehmen.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 6 (Fortgeschritten) - Gamma-Korrektur: aufhellen oder abdunkeln?

Die Gamma-Korrektur lautet ggMAX=(ggMAX)1/γ\dfrac{g'}{g'_{MAX}} = \left(\dfrac{g}{g_{MAX}}\right)^{1/\gamma}. Bestimme für γ=2\gamma = 2 und γ=0,5\gamma = 0{,}5 jeweils den Exponenten und ob das Bild aufgehellt oder abgedunkelt wird. Berechne zur Kontrolle den Ausgabewert für g=128g = 128 (bei gMAX=255g_{MAX} = 255) für γ=2\gamma = 2.

Lösung anzeigen

Der Exponent ist immer 1/γ1/\gamma:

γ\gammaExponent 1/γ1/\gammaWirkungKurvenlage
21/2=0,51/2 = 0{,}5aufhellen (brighten)konkav, oberhalb der Diagonale
0,51/0,5=21/0{,}5 = 2abdunkeln (darken)konvex, unterhalb der Diagonale

Kontrollrechnung für γ=2\gamma = 2, g=128g = 128:

g255=(128255)0,5=0,5020,709\frac{g'}{255} = \left(\frac{128}{255}\right)^{0{,}5} = \sqrt{0{,}502} \approx 0{,}709 g0,709255181g' \approx 0{,}709 \cdot 255 \approx 181

Der Wert steigt von 128 auf etwa 181, das Bild wird also tatsächlich heller. Merkregel: Liegt die Kurve oberhalb der Winkelhalbierenden, wird das Bild heller.

Typischer Fehler: Den Exponenten mit γ\gamma statt 1/γ1/\gamma ansetzen, oder annehmen γ>1\gamma > 1 dunkle ab. Es ist umgekehrt: γ>1\gamma > 1 (Exponent <1< 1) hellt auf.

Die Gamma-Korrektur ist nichtlinear und verfälschend (Bereiche mit lokaler Steigung <1< 1 verlieren Information); sie gehört daher nicht in sensible Anwendungen. Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.


Anspruchsvoll

Aufgabe 7 (Anspruchsvoll) - Kontrastspreizung mit Wertetabelle

Ein kontrastarmes Bild nutzt nur die Grauwerte [gmin,gmax]=[30,150][g_{min}, g_{max}] = [30, 150]. Spreize (contrast stretch) diese auf den vollen darstellbaren Bereich [0,255][0, 255]. Berechne mult\mathrm{mult} und add\mathrm{add}, prüfe die Endpunkte, fülle die Wertetabelle für g{30,90,150}g \in \{30, 90, 150\} (gerundet) und beschreibe die Form des resultierenden Histogramms.

Lösung anzeigen

Steigung:

mult=255015030=255120=2,125\mathrm{mult} = \frac{255 - 0}{150 - 30} = \frac{255}{120} = 2{,}125

Achsenabschnitt:

add=gminmult=302,125=63,75\mathrm{add} = -g_{min}\cdot \mathrm{mult} = -30 \cdot 2{,}125 = -63{,}75

Transformation: g=2,125g63,75g' = 2{,}125 \cdot g - 63{,}75, mit Clipping (g=0g' = 0 für g<30g < 30, g=255g' = 255 für g>150g > 150).

Probe:

302,12563,75=63,7563,75=0  1502,12563,75=318,7563,75=255  30 \cdot 2{,}125 - 63{,}75 = 63{,}75 - 63{,}75 = 0 \;\checkmark \qquad 150 \cdot 2{,}125 - 63{,}75 = 318{,}75 - 63{,}75 = 255 \;\checkmark

Wertetabelle:

gggg' (berechnet)darstellbar (gerundet)
3000
90127,5128
150255255

Histogrammform: Die 121 Eingabestufen (3015030 \dots 150) werden über 256 Ausgabestufen verteilt. Weil mult=2,125>1\mathrm{mult} = 2{,}125 > 1, entstehen Lücken (gaps) im Histogramm, es sieht aus wie ein Kamm (comb): nicht jeder darstellbare Grauwert wird getroffen. Der Kontrast steigt, die Anzahl der belegten Stufen (Dynamik) bleibt aber gleich, sie wird nur weiter auseinandergezogen.

Tipp: Kontrastspreizung mit mult>1\mathrm{mult} > 1 erzeugt immer ein Kamm-Histogramm. Das ist normal und kein Rechenfehler.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 8 (Anspruchsvoll) - Verfälschung erkennen

Eine LGT komprimiert den vollen Bereich [0,255][0, 255] auf [0,100][0, 100]. Berechne mult\mathrm{mult}. Zeige an den benachbarten Eingabewerten g=100g = 100 und g=101g = 101, dass Information verloren geht, und erkläre, warum diese Transformation verfälschend (falsifying) ist.

Lösung anzeigen

Steigung:

mult=10002550=1002550,392\mathrm{mult} = \frac{100 - 0}{255 - 0} = \frac{100}{255} \approx 0{,}392 add=00mult=0\mathrm{add} = 0 - 0 \cdot \mathrm{mult} = 0

Transformation: g=0,392gg' = 0{,}392 \cdot g.

Kollisionsnachweis:

g=100    g=39,2    gerundet 39g = 100 \;\Rightarrow\; g' = 39{,}2 \;\to\; \text{gerundet } 39 g=101    g=39,6    gerundet 40g = 101 \;\Rightarrow\; g' = 39{,}6 \;\to\; \text{gerundet } 40

Hier trennen sie sich noch knapp. Aber schon ein Schritt weiter:

g=102    40,0    40g=103    40,4    40g = 102 \;\Rightarrow\; 40{,}0 \;\to\; 40 \qquad g = 103 \;\Rightarrow\; 40{,}4 \;\to\; 40

Die beiden verschiedenen Eingabewerte 102 und 103 landen beide auf 40. Da 256 Eingabestufen auf nur 101 Ausgabestufen gedrückt werden, müssen zwangsläufig mehrere Eingabewerte auf denselben Ausgabewert fallen.

Fazit: Werden zwei verschiedene Eingabegrauwerte auf denselben Ausgabegrauwert abgebildet, geht Information unwiederbringlich verloren. Diese Kompression ist daher verfälschend und für sensible Daten (Medizin, Satellit) ungeeignet.

Typischer Fehler: Annehmen, jede LGT sei verfälschungsfrei. Verfälschungsfrei ist sie nur, solange nach der Rundung keine zwei Grauwerte kollidieren, das ist bei mult<1\mathrm{mult} < 1 auf ein grösseres Zielintervall nicht garantiert.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 9 (Anspruchsvoll) - LGT mit negativem gming_{min}

Ein Sensor liefert Rohwerte im Bereich g[100,140]g \in [-100, 140] (z. B. vorzeichenbehaftete Differenzwerte). Stelle eine LGT auf, die diese auf [0,120][0, 120] abbildet. Achte besonders auf das Vorzeichen von add\mathrm{add}.

Lösung anzeigen

Steigung:

mult=1200140(100)=120240=0,5\mathrm{mult} = \frac{120 - 0}{140 - (-100)} = \frac{120}{240} = 0{,}5

Achsenabschnitt (Kapitelformel, da gmin=0g'_{min} = 0):

add=gminmult=(100)0,5=+50\mathrm{add} = -g_{min}\cdot \mathrm{mult} = -(-100)\cdot 0{,}5 = +50

Transformation: g=0,5g+50g' = 0{,}5 \cdot g + 50.

Probe:

1000,5+50=50+50=0  1400,5+50=70+50=120  -100 \cdot 0{,}5 + 50 = -50 + 50 = 0 \;\checkmark \qquad 140 \cdot 0{,}5 + 50 = 70 + 50 = 120 \;\checkmark

Weil gmin=100g_{min} = -100 negativ ist, wird add\mathrm{add} durch das Minuszeichen in der Formel positiv (+50+50). Das Minuszeichen bleibt in der Formel immer stehen, entscheidend ist das Vorzeichen von gming_{min}.

Typischer Fehler: Das Vorzeichen von add\mathrm{add} mechanisch als negativ annehmen. Bei positivem gming_{min} ist add\mathrm{add} negativ, bei negativem gming_{min} positiv.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.


Klausur-Niveau

Aufgabe 10 (Klausur-Niveau) - gg`-Diagramm interpretieren (MC)

Ordne jeder Abbildungsfunktion im gg`-Diagramm die richtige Wirkung zu. Welche Aussage ist jeweils korrekt?

  1. Die Funktion verläuft komplett oberhalb der Winkelhalbierenden.
  2. Die Funktion hat eine negative Steigung.
  3. Die Funktion hat die Steigung m=0,4m = 0{,}4.
  4. Die Funktion hat die Steigung m=2,0m = 2{,}0.

Auswahl: (A) heller, (B) dunkler, (C) invertiert, (D) kontrastärmer, (E) kontrastreicher.

Lösung anzeigen
FunktionWirkung
1. oberhalb der Winkelhalbierenden(A) heller
2. negative Steigung(C) invertiert
3. m=0,4m = 0{,}4 (Steigung <1< 1)(D) kontrastärmer
4. m=2,0m = 2{,}0 (Steigung >1> 1)(E) kontrastreicher

Die fünf prüfungsrelevanten Merksätze:

  • Oberhalb der Diagonale \to heller.
  • Unterhalb der Diagonale \to dunkler (Wirkung B, hier nicht abgefragt).
  • Negative Steigung \to invertiert.
  • Steigung <1< 1 \to kontrastärmer.
  • Steigung >1> 1 \to kontrastreicher.

Tipp: Heller/dunkler entscheidet die Lage relativ zur Winkelhalbierenden, kontrastreich/kontrastarm entscheidet die Steigung. Beides sind unabhängige Fragen.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 11 (Klausur-Niveau) - Vollständige Kontrastspreizung mit Verfälschungsprüfung

Ein Satellitenbild nutzt nur [gmin,gmax]=[95,175][g_{min}, g_{max}] = [95, 175]. (a) Stelle die Kontrastspreizung auf den Bereich [0,240][0, 240] auf und prüfe die Endpunkte. (b) Berechne den Ausgabewert für g=135g = 135. (c) Ist die Transformation hier verfälschungsfrei? Begründe.

Lösung anzeigen

(a) Transformation.

Steigung:

mult=240017595=24080=3,0\mathrm{mult} = \frac{240 - 0}{175 - 95} = \frac{240}{80} = 3{,}0

Achsenabschnitt:

add=gminmult=953,0=285\mathrm{add} = -g_{min}\cdot \mathrm{mult} = -95 \cdot 3{,}0 = -285

Transformation: g=3,0g285g' = 3{,}0 \cdot g - 285 (mit Clipping ausserhalb [95,175][95, 175]).

Probe:

953285=285285=0  1753285=525285=240  95 \cdot 3 - 285 = 285 - 285 = 0 \;\checkmark \qquad 175 \cdot 3 - 285 = 525 - 285 = 240 \;\checkmark

(b) Wert für g=135g = 135:

g=3135285=405285=120g' = 3 \cdot 135 - 285 = 405 - 285 = 120

Der mittlere Eingabewert bildet auf die Mitte des Zielbereichs ab, wie es bei einer linearen Abbildung sein muss.

(c) Verfälschungsprüfung. mult=3>1\mathrm{mult} = 3 > 1: der Eingabebereich (81 Stufen, 9517595 \dots 175) wird auf 241 Ausgabestufen gespreizt. Da jeder Eingabewert um 3 Einheiten auseinandergezogen wird, kann kein Ausgabewert doppelt belegt werden. Es entstehen zwar Lücken (Kamm-Histogramm), aber keine zwei Eingabewerte kollidieren \to die Kontrastspreizung ist hier verfälschungsfrei und für die sensiblen Satellitendaten zulässig.

Typischer Fehler: gmin/gmaxg_{min}/g_{max} (im Bild vorhanden) mit gMIN/gMAXg_{MIN}/g_{MAX} (darstellbar) verwechseln. Die Gross-/Kleinschreibung ist bedeutungstragend: gespreizt wird das vorhandene Intervall auf das darstellbare/gewünschte Zielintervall.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.

Aufgabe 12 (Klausur-Niveau) - Histogramm, Bildinhalt und Verfälschung (Konzept)

Beantworte kurz und begründet: (a) Können drei völlig verschiedene Bilder dasselbe Histogramm haben? (b) Warum ist die Kontrastspreizung in der Regel verfälschungsfrei, die Gamma-Korrektur aber nicht? (c) Ein Vorschlag lautet, Bildrauschen mit einem Median-Filter zu glätten. Ist das ein Punktoperator?

Lösung anzeigen

(a) Ja. Das Histogramm ist kein Mass für den Bildinhalt. Beispiel: ein links/rechts halbiertes Schwarz-Weiss-Bild, ein Schachbrettmuster und ein schwarzer Kreis auf weissem Grund können alle "50 % schwarz, 50 % weiss" haben, also dasselbe Histogramm. Das Histogramm sagt nichts über die räumliche Anordnung der Pixel.

(b) Kontrastspreizung ist eine lineare, streng monotone Abbildung. Solange die Steigung so gewählt ist, dass nach der Rundung keine zwei Eingabewerte auf denselben Ausgabewert fallen (typisch bei Spreizung mit mult>1\mathrm{mult} > 1), geht keine Information verloren. Die Gamma-Korrektur ist nichtlinear: in Bereichen mit lokaler Steigung S<1S < 1 werden mehrere Grauwerte auf weniger Grauwerte abgebildet \to Information geht verloren, also verfälschend.

(c) Nein. Ein Median-Filter (median filter) nutzt die Nachbarschaft eines Pixels und ist damit ein lokaler Operator (Kapitel 12), kein Punktoperator. Ein Punktoperator berechnet den neuen Grauwert allein aus dem alten Grauwert desselben Pixels.

Hinweis: Median-, Mittelwert- und Laplace-Filter sowie Faltung (convolution) und Flood-Fill / Zusammenhangskomponenten sind keine Punktoperatoren und gehören nicht zu Kapitel 11, sondern zu Kapitel 12 (lokale Operatoren). Das ist eine beliebte Klausur-Falle.

Siehe Kapitel 11: Bildbearbeitung - Punktoperatoren.