Woraus bestehen Bilder im Computer?
Pixeldaten
Zahlenmatrix I(x,y) der Helligkeitswerte (Intensitäten)
Pixelwerte innerhalb des Wertebereichs z.B.:
Vorzeichenlose 8-Bit Ganzzahl (uint8): 0-Schwarz bis 255-Weiß
Vorzeichenbehaftete 16-bit Ganzzahl (int16): -32,768 bis +32,767
Fließkommazahl
Farbbilder: 3 Werte pro Pixel, z.B. RGB oder HSV
Was ist das Ziel von Color Maps?
Ziel: Kontrastreichere Darstellung von “Bilddaten” für das menschliche Auge
Ansatz: Zuordnungstabellen von Grauwerten (g) auf 3er-Tupel
kein Informationsgewinn
Wie lässt sich der unkomprimierte Speicherbedarf für unterschiedliche Farbtiefen berechnen?
D = (w x h x c x Z)/8 (Byte)
w: Breite (Pixel)
h :Höhe (Pixel)
c : Anzahl Farbkanäle
Z: Farbtiefe (Bit)
Was wird in einem Histogramm dargestellt?
Histogramm: Häufigkeitsverteilung der Helligkeitswerte
-> Für hohen Kontrast: Gleichmäßige Verteilung der Tonwerte auf gesamten Dynamikumfang (minimaler und maximaler Tonwert)
Was versteht man unter der Grauwerttransformation?
-> Kontrastspreizung
Algorithmische Tonwertkorrektur zur optimalen Dynamikdarstellung
z.B.: I’ = (I(x,y)-a)*(w/b)
I’ = (I(x,y)-a)*(w/b)
BILD FEHLT
Was versteht man unter der Fensterung?
hochwertige Sensoren (z.B. Röntgendetektoren) können mehr Graustufen auflösen als Auge bzw. Monitor
Mittels Fensterung wird ein Wertebereich herausgenommen, der auf die darstellbaren Intensitäten gemappt wird
es können so unterschiedliche Kontrastregionen hervorgehoben werden
Was versteht man unter der Gammakorrektur?
Tonwertabhängige Kontrastspreizung
Auge kann in dunklen Bereichen Graustufen besser auflösen, Kamera ist nahezu linear
um Dynamikumfang besser zu nutzen, werden helle Bereiche niedriger aufgelöst -> Dynamikkompression
Dynamikdekompression für Anzeige erforderlich, kann auch zum “visuellen Kontrast verbessern” dienen
“Power-Law” Y(I) = k*I^y
Y(I) = k*I^y
y = 1: I(out) = I(in) Abbildung ist linear
y<1: Abbildung ist konkav, kleine Eingabewerte werden stark gespreizt, große gestaucht
y>1: Abbildung ist konvex, kleine Eingabe werden gestaucht, große gespreizt
typischer Bildschirm-Wert: y = 2,2
Kein Informationsgewinn! Lediglich die menschliche Wahrnehmung wird verbessert.
Welche Besonderheiten sind bei der pixelbasierten Bildarithmetik zu beachten?
Bilder können als diskrete 2D-Funktion als auch Marix betrachtet werden:
I(x,y) = k *A(x,y) + l *B(x,y)
I(x,y) = k *
A(x,y) + l *
B(x,y)
I=k *A + l *B
I=k *
A + l *
B
Zu beachtende Besonderheiten:
diskreter Wertebereich
Rundungsrauschen z.B. bei Multiplikation mit float, Division
Endlicher Wertebereich
Overflow und Underflow möglich, auch in Zwischenschritten
Verschiedene Zahlenformate, Umwandlung möglich
Endlicher Bildbereich (evtl. besondere Betrachtung des Bildrandes)
Was bezeichnen “Masken” in der BV?
Binäre (boolsche) Matrix, die relevanten Bildbereich freistellt
“Feste” Masken: ROI (Region of Interest)
Manuell festgelegt
Adaptive Masken:
BV-basiert (häufigster Ansatz: Schwellwertbasiert)
KI-basiert
Was sind Sub-Images?
Bilder können “gesliced” /(aus)geschnitten werden
Aus einem großen Bild entsteht ein kleines Bild
umgekehrt kann ein Bildbereich in ein größeres Bild “gepacht”/eingesetzt werden
ein Bild/eine Matrix ist immer rechteckig
Wenn anders gewünscht: Maskierung
Unterschied zur Fensterung:
Anzahl Samples wird verringert
ggf. Einfluss auf die Interpretierbarkeit der Frequenzinhalte
Was ist zu beachten wenn mehrere Bilder zu einem großen Bild “zusammen-gepatched” werden sollen?
auch “stiching” genannt
nur möglich, wenn “Naht”-Dimension gleiche Größe hat
Es muss eine Matrix (Rechteck) entstehen
Horizontal: I’=[I1,I2]
vertikal: I’=[I1;I2]
Was bezeichnet die pixelbasierte Bild-Arithmetik?
Eine skalarwertige Transformation f wird auf jeden Bildpunkt im Quellbild I(x,y) angewendet.
Ein neues Zielbild I’(x,y) entsteht.
Beispiele:
Tonwertkorrektur
Anwendung einer Maske:
I’(x,y) = I(x,y) .* M(x,y) (elementweise Matrixmultiplikation)
Wozu dient ein Mittelwert(filter) über Bildstapel?
Erhöhung der Bildqualität durch pixelweise Mittelung von mehreren Aufnahemn
Auf Kosten der Aufnahmezeit
Reduktion von statischem Bildrauschen (Sensorrauschen, Schrotrauschen)
Voraussetzung: statisches Motiv
Wozu dient ein zeitlicher Ableitungsfilter über Bildstapel?
absolutes Differenzbild zwischen zwei Video-Frames
Unterschiede / Veränderungen werden aufgedeckt
z.B. Bewegungserkennung, Objektanwesenheit, Dunkelbild-Kompensation
ggf. weitere Schwellwertanwendung für Entscheidungsfindung
Beispiel:
H = abs(I1 -I0) > 20 -> Schwellwert aufgrund von Rauschen
movement = Summe(H)
Was ist eine Binarisierung und wozu dient diese?
Trennen eines Bildes in 2 Bereiche (z.B. Vordergrund/Hintergrund)
-> benötigt Threshold b
Häufig Vorstufe von Maskierung bzw. Segmentierung oder Klassifikationsalgorithmen
Binarisierung allgemein:
G(x,y) = {1 wenn I(x,y)>= b, 0 sonst}
Oft (besonders in “natürlichen Szenen”) ist ein globar Schwellwert nicht ausreichend, um Hintergrund und Objekte zu trennen
Limitierung wenn Farbverlauf im Hintergrund
Welche einfachen Werte gibt es für eine globale Binarisierungsschwelle?
Voraussetzung für erfolgreiche Binarisierung mit globaler Schwelle:
Schwellwert trennt Objekt- und Hintergrundpixel, oft deutliche Trennung im Histogramm
Mögliche Binarisierungsschwelle:
Fix z.B. b=45
sehr einfach, nicht adaptiv
nur bei gleichbleibender Beleuchtungssituation
Mittelwert b=mean(I)
sehr einfach, adaptiv
abhängig vom Größenverhältnis Objekt/Hintergrund
Median b=median(I)
einfach adaptiv, etwas robuster als mean
Mid-Range b=(max(I)-min(I))/2
einfach, schnell, grundsätzlich adaptiv
empfindlich gegenüber Ausreißern, degeneriert bei gutem Bildkontrast (vollem Wertebereich) zu Fix=128
Welche Verfahren gibt es zur Findung einer “optimalen” globalen Binarisierungsschwelle?
Triangle Algorithm
Ermittlung der Linie zwischen Maximum im Histogramm und dem kleinsten im Bild vorkommenden Grauwert
Bestimmung des Abstandes d zwischen Linie und Histogramm
Schwellwert b0: Grauwert mit größtem Abstand
Otsu’s Methode
Separierung der Bildinhalte in zwei Klassen, welche durch Schwellwert T getrennt werden
Maximierung der gewichteten Varianzen zwischen den Klassen (Interklassenvarianz)
Zuletzt geändertvor 2 Jahren