Kapitel 11: Bildbearbeitung - Punktoperatoren
Punktoperatoren (point operators) verändern jeden Pixel allein aus seinem eigenen Grauwert: Histogramme als Analysewerkzeug, das gg`-Diagramm als Darstellungsform, lineare Grauwerttransformation (Helligkeit, Invertierung, Kontrast, Binarisierung, Kontrastspreizung), die nichtlineare Gamma-Korrektur und der statistikbasierte Reinhard-Farbtransfer im Lab-Farbraum.
Hinweis (Prüfungsfokus / Kapitelabgrenzung): Kapitel 11 behandelt ausschliesslich Punktoperatoren - also pixelweise Grauwert- und Farbtransformationen. Faltungskerne (convolution kernels), Laplace-/Mittelwert-/Median-Operatoren und Flood-Fill / Zusammenhangskomponenten (ZHK / connected components) kommen hier nicht vor. Sie gehören zu Kapitel 12 "Bildverarbeitung - Lokale Operatoren" (auf der letzten Folie als Ausblick "Wie geht es weiter?" mit Kantenfilter-Beispiel angekündigt). Wer diese Themen lernen will, braucht die Kapitel-12-Unterlagen.
Überblick
Ein Punktoperator (point operator) berechnet für jeden Pixel einen neuen Grauwert allein aus dem alten Grauwert desselben Pixels. Nachbarpixel werden nicht genutzt, Bildgrösse und -geometrie bleiben unverändert. Das ist der definierende Unterschied zu den lokalen Operatoren (Kapitel 12), die eine Nachbarschaft einbeziehen.
Roter Faden des Kapitels:
- Histogramme (histogram) - Grundlage und Beurteilungswerkzeug.
- Punktoperationen - lineare Grauwertänderung (Helligkeit, Invertieren, Kontrast, Binarisierung), nichtlineare Grauwertänderung (Gamma-Korrektur) und Farbtransformationen (Reinhard-Farbtransfer im Lab-Farbraum).
- Darstellung aller Punktoperationen im gg`-Diagramm (transfer function diagram).
Zentrale Anwendungsmotivation: Aufnahmen (z. B. Satelliten- oder Medizinbilder) so aufbereiten, dass der maximal verfügbare Grauwertbereich genutzt wird, ohne die Bilddaten zu verfälschen. Verfälschung heisst: Grauwerte hinzufügen oder löschen. Dieses "Verfälschungs"-Leitmotiv zieht sich durch das ganze Kapitel (Kontrastspreizung: nicht verfälschend; Gamma-Korrektur: verfälschend).
Histogramme
Ein Histogramm ist die grafische Darstellung der Häufigkeitsverteilung der Grauwerte in einem Bild. X-Achse = Grauwerte (typisch 0..255), Y-Achse = Häufigkeit. Zugrunde liegt eine Bildmatrix (image matrix), in der jeder Pixel durch einen Zahlenwert (Grauwert) repräsentiert wird.
- Absolute vs. relative Häufigkeit (absolute / relative frequency): Absolut = reine Anzahl auf der Y-Achse. Relativ = auf das Intervall [0,1] normiert.
- Belichtungsfehler (exposure error): Ein Ende der Skala bleibt ungenutzt, während sich am anderen Ende Werte häufen. Links = dunkle Grauwerte (0 = schwarz), rechts = helle (max = weiss). Überbelichtet -> dunkle Töne fehlen (linkes Ende leer).
- Kontrast (contrast): Spannweite zwischen minimal und maximal vorhandenem Grauwert, bewertet als Differenz .
- Dynamik (dynamic range): Anzahl der verschiedenen genutzten Grauwerte. Idealfall: jeder Grauwert kommt vor.
Wichtig (typische Falle): Kontrast = Spannweite, Dynamik = Anzahl verschiedener Stufen. Nicht verwechseln. Ein Bild kann hohen Kontrast bei geringer Dynamik haben (nur wenige, aber weit auseinanderliegende Grauwerte).
Zwei Kernaussagen zum Histogramm:
- Das Histogramm ist KEIN Mass für den Bildinhalt. Drei völlig verschiedene Bilder (links/rechts halb schwarz-weiss; Schachbrettmuster; schwarzer Kreis auf weiss) können dasselbe Histogramm haben (je 50 % schwarz, 50 % weiss). Das Histogramm sagt nichts über die räumliche Anordnung.
- Das Histogramm erkennt Bildmanipulation. JPEG-Kompression fügt einem reinen Schwarz-Weiss-Bild zusätzliche Grauwerte hinzu. Kontrastreduktion drückt Grauwerte zusammen und erzeugt Histogrammspitzen ("Kämme" / Lücken).
Punktoperation - Definition
Eine Punktoperation wird pixelweise berechnet, nutzt die Grauwerte benachbarter Pixel nicht und lässt Grösse und Geometrie des Bildes unverändert. Mögliche Punktoperationen: Helligkeitsänderung, Invertieren, Kontraständerung, Binarisierung, Gamma-Korrektur, Farbtransformationen.
Lineare Grauwerttransformation
Bildhelligkeit ändern (mit Clipping)
Aufhellen = Addition eines Wertes; Abdunkeln = Subtraktion. Clipping hält die Werte im Bereich [0,255].
Aufhellen (Addition von 50):
Abdunkeln (Subtraktion von 50):
Invertieren
Spiegelung der Grauwerte an (negative Steigung der Abbildungsfunktion):
Für das Histogramm folgt daraus eine Spiegelung:
Im Invertierungsfall gilt und .
Kontraständerung
Kontrastreich -> kontrastarm entspricht einer flacheren Abbildungsgeraden (Steigung < 1): der Ausgabebereich wird schmaler als der Eingabebereich . Umgekehrt macht eine steilere Gerade (Steigung > 1) das Bild kontrastreicher.
Binarisierung durch Schwellwertbildung
Die Binarisierung (thresholding) zerlegt das Bild anhand eines Schwellwerts in Bildvordergrund (standardmässig weiss) und Bildhintergrund (schwarz). Im gg`-Diagramm eine Stufenfunktion an :
In den Beispielen verwendete Schwellwerte: und (bzw. und ). Höherer Schwellwert -> mehr Schwarz.
Das gg`-Diagramm
Das gg-Diagramm** (transfer / mapping function diagram) bildet die Grauwerte des **Eingabebildes g** (X-Achse) auf die Grauwerte des **Ausgabebildes g (g-Strich) (Y-Achse) ab. Die diagonale Winkelhalbierende (Identität) ist die Referenz.
Notation (Gross-/Kleinschreibung ist bedeutungstragend):
- = minimal/maximal im Eingabebild vorhandene Grauwerte.
- = minimal/maximal darstellbare Grauwerte (z. B. 0 und 255).
- bzw. charakterisieren das Ausgabebild äquivalent.
Merksätze zur Abbildungsfunktion (prüfungsrelevant):
- Bild wird heller, wenn die Funktion oberhalb der Winkelhalbierenden verläuft.
- Bild wird dunkler, wenn die Funktion unterhalb der Winkelhalbierenden verläuft.
- Bild wird invertiert, wenn die Steigung negativ ist.
- Bild wird kontrastärmer, wenn die Steigung < 1 ist.
- Bild wird kontrastreicher, wenn die Steigung > 1 ist.
Kontrastspreizung (LGT)
Die Kontrastspreizung (contrast stretching) ist eine lineare Grauwerttransformation (linear gray-value transform, LGT), die die vorhandenen Grauwerte gleichmässig auf den darstellbaren Bereich verteilt. Grundform ist eine Geradengleichung:
Dabei ist der Eingabegrauwert an der Position , die Steigung (Multiplikationsanteil, mult) und der Y-Achsenabschnitt (Additionsanteil, add).
Schritt 1 - Steigung m (skaliert den Eingabebereich auf den Ausgabebereich):
Schritt 2 - Y-Achsenabschnitt b (verschiebt die zu hohe Zwischengerade um den Abstand nach unten):
Gesamtformel (mult/add):
Kompakt:
Worked Example 1: Satellitenbild-Kontrastspreizung
Gegeben (kontrastarmes Bild): darstellbarer Bereich , ; im Bild vorhandene Grauwerte , .
Schritt 1 - Steigung:
Zwischenergebnis (Gerade zu hoch, muss noch verschoben werden).
Schritt 2 - Achsenabschnitt:
Fertige Transformation:
Verfälschungsprüfung (Wertetabelle): von 100..178 wird auf gerundete Ausgabewerte abgebildet. Keine zwei Eingabewerte landen auf demselben Ausgabewert -> keine Bildverfälschung -> zulässig auch für sensible Daten (Medizin, Satellit).
| (berechnet) | darstellbar (gerundet) | |
|---|---|---|
| 100 | 0 | 0 |
| 101 | 3,27 | 3 |
| 102 | 6,54 | 7 |
| 139 | 127,53 | 128 |
| 176 | 248,52 | 249 |
| 177 | 251,79 | 252 |
| 178 | 255,06 | 255 |
Worked Example 2: Übung LGT
Aufgabe: Stelle eine lineare Grauwerttransformation auf, die Werte in den Wertebereich überführt.
Lösung:
Probe:
Hinweis (Vorzeichen von b): In der Formel ist hier negativ (), daher wird positiv (). Im Satellitenbeispiel mit ist dagegen negativ (). Das Minuszeichen aus der Formel bleibt immer stehen, entscheidend ist das Vorzeichen von .
Verfälschung von Bildinformation
Daten werden verfälscht (falsification), wenn Grauwerte hinzugefügt oder gelöscht werden. Werden zwei verschiedene Eingabegrauwerte auf denselben Ausgabegrauwert abgebildet, geht Information unwiederbringlich verloren. Bei der Kontrastspreizung im Beispiel passiert das nicht, daher ist sie hier informationserhaltend. (Dies ist kein allgemeiner Beweis, aber ein starkes Indiz - die Rundung ist stets zu prüfen.)
Gamma-Korrektur
Die Gamma-Korrektur (gamma correction) ist eine nichtlineare Punktoperation. Motivation: Aufnahme (Sensor) und Wiedergabe (Display) verhalten sich nicht linear zur menschlichen Wahrnehmung; die Gamma-Korrektur gleicht dieses nichtlineare Verhalten aus. ergibt ein lineares, unnatürlich wirkendes Bild; (z. B. ) ergibt ein originalgetreu wahrnehmbares Bild.
Der Exponent ist (der "gamma-Wert").
- Bild wird nichtlinear aufgehellt (konkave Kurve oberhalb der Diagonale).
- Bild wird nichtlinear abgedunkelt (konvexe Kurve unterhalb der Diagonale).
Lokaler Kontrast: Wo die Kurvensteigung ist, werden die dortigen Grauwerte auf mehr Grauwerte gespreizt (Kontrast steigt). Wo ist, werden sie auf weniger Grauwerte abgebildet -> Bildinformation geht verloren.
Wichtig: Die Gamma-Korrektur verändert/verfälscht Bildinformation und sollte daher nicht in sensiblen Anwendungsbereichen eingesetzt werden - im Gegensatz zur Kontrastspreizung. Bei Farbbildern funktioniert dieselbe Gamma-Korrektur auf allen drei RGB-Kanälen nicht immer; besser das Bild in HSV, YCbCr o. ä. übertragen und nur den Intensitätskanal korrigieren.
Statistische Kennzahlen: Mittelwert und Standardabweichung
Der Mittelwert (mean / average brightness) ist der durchschnittliche Grauwert (Fliesskommazahl) und entspricht der mittleren Bildhelligkeit eines (Farb-)Kanals:
Die Standardabweichung (standard deviation, ) misst die Streuung der Grauwerte um den Mittelwert. Sie hängt vom Kontrastumfang ab (mehr Kontrast -> grösseres ; schmales Histogramm , breiteres ):
Farbtransfer (Reinhard et al. 2001)
Der Farbtransfer (color transfer) überträgt die Farbkomposition eines Zielbildes (Target) auf ein Eingabebild (Source), sodass die Bildinhalte der Source im Ergebnis (Result) möglichst erhalten bleiben. Er basiert auf der Angleichung von Mittelwert und Standardabweichung pro Kanal im Lab-Farbraum (CIELab, Kanäle = Helligkeit, , = Gegenfarbachsen).
Warum Lab und nicht RGB - zwei Gründe:
- Im Lab-Raum steht der Abstand zwischen zwei Farben im direkten Verhältnis zu unserer Fähigkeit, sie zu unterscheiden (wahrnehmungslinear); im RGB nicht.
- Im RGB modellieren alle drei Kanäle gemeinsam einen Farbton; im Lab werden Farbtöne über Komplementärfarben und Intensität modelliert, die sich weniger gegenseitig beeinflussen (geringere Kanalkorrelation).
4-Schritt-Algorithmus:
-
Mittelwerte und Standardabweichungen der Lab-Kanäle von Source und Target berechnen: sowie .
-
Source-Mittelwerte abziehen (zentrieren, Mittelwert wird 0; Werte können negativ werden):
- Mit dem Verhältnis der Standardabweichungen (Target/Source) je Kanal skalieren:
- Target-Mittelwerte addieren (in den positiven, darstellbaren Bereich verschieben), anschliessend Clipping (, ):
Ergebnis: . Ausblick: dieselbe Normierung (Mittelwert abziehen, durch teilen) findet sich auch in der Eingabe-Normalisierung von CNNs.
Prüfungsrelevanz
- LGT / Kontrastspreizung berechnen (Schritt 1 , Schritt 2 , mult/add-Formel) - der zentrale Rechen-Task des Kapitels, inklusive Probe.
- gg`-Diagramm interpretieren: die fünf Merksätze (oberhalb = heller, unterhalb = dunkler, negative Steigung = invertiert, Steigung < 1 = kontrastärmer, Steigung > 1 = kontrastreicher).
- Histogramm zu Bildmatrix zeichnen und umgekehrt.
- Verfälschungsargument: Wann geht Information verloren? (Zwei Grauwerte auf einen -> Verlust.) Kontrastspreizung verfälscht i. d. R. nicht, Gamma-Korrektur schon.
- Begriffe sauber trennen: Kontrast (Spannweite ) vs. Dynamik (Anzahl verschiedener Grauwerte) vs. Helligkeit (Mittelwert).
- Gamma-Korrektur: Exponent ist ; welcher -Wert hellt auf / dunkelt ab; wo geht Information verloren (Steigung < 1).
- Reinhard-Farbtransfer: die 4 Schritte und die zwei Gründe, warum Lab besser als RGB ist.
- Histogramm ist KEIN Mass für Bildinhalt (drei-Bilder-ein-Histogramm) - beliebte Verständnisfrage.
Typische Fehler
- (im Bild vorhanden) mit (darstellbar) verwechseln - die Gross-/Kleinschreibung ist bedeutungstragend.
- Vorzeichen von vergessen: ; bei positivem ist negativ, bei negativem positiv.
- Clipping vergessen: Werte ausserhalb [0,255] müssen auf 0 bzw. 255 gesetzt werden.
- Gamma-Exponent falsch: es ist , nicht . hellt auf (nicht ab).
- Kontrast und Dynamik gleichsetzen.
- Beim Farbtransfer die Reihenfolge der Schritte oder die Richtung des -Verhältnisses (Target/Source, nicht umgekehrt) vertauschen.
- Annehmen, Kontrastspreizung sei immer verfälschungsfrei - sie ist es nur, solange keine zwei Grauwerte kollidieren (Rundung beachten).
- Verwechslung mit Kapitel 12: Faltung, Mittelwert-/Median-/Laplace-Filter, ZHK/Flood-Fill sind KEINE Punktoperatoren und stehen NICHT in Kapitel 11.
Glossar
| Deutsch | English |
|---|---|
| Punktoperator / Punktoperation | point operator / point operation |
| Histogramm | histogram |
| absolute / relative Häufigkeit | absolute / relative frequency |
| Grauwert | gray value / intensity value |
| Bildmatrix | image matrix |
| Belichtungsfehler / Über-, Unterbelichtung | exposure error / over-, underexposure |
| Kontrast(umfang), | contrast (range) |
| Dynamik | dynamic range |
| Bildhelligkeit | image brightness |
| Invertieren | inversion |
| Binarisierung / Schwellwert | binarization / thresholding / threshold |
| Bildvordergrund / Bildhintergrund | foreground / background |
| gg`-Diagramm | transfer / mapping function diagram |
| Abbildungsfunktion / Winkelhalbierende | mapping function / identity line |
| Steigung / Y-Achsenschnittpunkt | slope / y-intercept |
| lineare Grauwerttransformation (LGT) | linear gray-value transform |
| Kontrastspreizung | contrast stretching |
| mult / add | multiplicative / additive part |
| Verfälschung von Bildinformation | falsification / loss of image information |
| Gamma-Korrektur / gamma-Wert | gamma correction / gamma value |
| Mittelwert / mittlere Bildhelligkeit | mean / average brightness |
| Standardabweichung () / Varianz | standard deviation / variance |
| Farbtransformation / Farbtransfer | color transformation / color transfer |
| Source / Target / Result | source / target / result image |
| Lab-Farbsystem | Lab / CIELab color space |
| HSV / YCbCr | alternative color spaces |
| Kantenfilter (Ausblick Kap. 12) | edge filter |