Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization Image Processing
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Uebersicht ✔ Grundlagen ✔ Punktoperationen (PO) ✔ Hilfsmittel Histogramm ✔ Helligkeit, Kontrast, Treshold ✔ GPU Implementierung ✔ Lokale Filter ✔ Matrizen, Gauss, Rauschreduktion, Kantendetektion, Medianfilter ✔ GPU Implementierung ✔ Morphing ✔ FFT (Fast Fourier Transformation)
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Grundlagen – RGB - Bei Bildbearbeitung meistens TrueColor - Farbe wird aus Rot, Gruen und Blau gemischt - TrueColor: - 8 Bit fuer jede Komponente Farbabstufungen fuer jede Komponente - 24 Bit fuer Farbe (~16 Mio. Farben)
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Grundlagen – RGB - sRGB (standard RGB) Rot [0.6400, ] Gruen [0.3000, ] Blau [0.1500, ] Dreieck: Gamut (RGB Farbraum) Farbkombination durch Addition - Problem: - nicht alle vom Menschen wahrnehmbare Farben sind mit RGB darstellbar Primaervalenzen (R,G,B)
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Grundlagen - YUV - YUV wurde fuer Farbfernsehen entworfen :) - Es wurde nach einer Moeglichkeit gesucht, "Bandbreitendschonend" Schwarzweiss Fernsehen auf Farbfernsehen umzustellen. - YUV: Farbe wird durch Luma (Y: Lichtstaerke) und Chrominanz (UV: Farbanteil) gebildet - Umrechnung von RGB YUV: u-v verteilung fuer y = 0.5
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Punktoperationen (PO) - Operationen, die lediglich auf den aktuellen zu bearbeitenden / analysierenden Pixel beschraenkt sind (Andere Pixel im Bild werden nicht "angefasst") - Hilfestellung zur Analysierung von Bildern - Grafische Aufbesserung von Bildern
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT PO – Helligkeit - Berechnung der Helligkeit bei RGB: H = (R+B+G) / 3; => H ε [0; 255] - Jedem Pixel wird ein Helligkeitswert zugewiesen - Beispiel: Haeufigkeit der Helligkeitsstufen in einem Bild
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT PO - Histogramm - Levels: Verteilung best. Parameter eines Bildes
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT PO - Kontrast input output
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT PO - Helligkeit - Erhoehung der Helligkeit input output
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT PO - Beispielanwendung - Beispiel: Entfernung des Grauschleier
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT PO - Treshold - Selektierung best. Graustufen
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT PO – Histogramm – Allgemeines - Hilfestellung fuer: - Kontrast - Helligkeit - Treshold - Variationen: - Farbhistogramme (R, G, B) - Weitere Anwendung: - z. B. Color Curves >>>
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT GPU Implementierung - Vorteile - fuer Grafikberechnungen optimiert (z. B. Befehle fuer Matrizenaddition und -multiplikation) - Farbkomponenten koennen als Vektor angesprochen werden => schnellere Berechnung - Nachteile - Grafikdaten muessen zuerst in Textur kopiert und in GPU Speicher geladen werden - Texturgroesse beschraenkt - Bei kleineren Grafiken nicht rentabel - Bei speziellen Problemen nicht anwendbar
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Lokale Filter (LF) - Matrix - Einbeziehung weiterer Punkte - Filtern durch Anwendung einer NxN Matrix - Meistens 3x3 oder 5x5 Matrix - Zentraler Wert bezieht sich auf aktuellen Punkt - Normierung! (1 / Summe aller Matrixelemente) - Beispiel: neutrale Matrix
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Glaettungsfilter: Mittelwert - Wert des neuen Punktes wird mit angrenzenden Punkten gemittelt - Evtl. Erweiterung auf weitere angren- zende Punkte der angrenzenden Punkte - Beispielmatrizen: x 1/ 9 x 1/ 2 5 x 1/ 5
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Glaettungsfilter: Mittelwert - Anwendung: / 9 Normierung x 1/ 9 ==
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF - Glaettungsfilter: Gauss - Werte der Matrix werden mit Binominalkoeffizienten aufgebaut - Weichzeichnen entspricht der Gewichtung der Punkte durch die Gaussglocke - Zentraler Punkt hat hoechste Gewichtung - Beispiele: Binominal- koeffizienten
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF - Glaettungsfilter: Gauss - Anwendung:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF - Kantendetektion - Hervorheben der Kanten - z. B. in der Medizin fuer Umrisserkennung (Tumor, etc.) wichtig - Kantendetektion wird auf Graustufen angewandt (Bildgebende Verfahren in der Medizin produzieren grossteils Graustufenbilder)
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF - Kantendetektion - Sobel - Starke Unterschiede werden hervorgehoben M1 M2 M3M4 Result = max{ |M1|, |M2|, |M3|, |M4| }
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Kantendetektion - Sobel - Anwendung: Result = max{ |M1|, |M2|, |M3|, |M4| } nach Kontrasterhoehung
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF - Kantendetektion - Laplace - Rotationsunabhaengige Kantendetektion - Bereiche mit gleichen Farbwerten werden ignoriert - Beispiele:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Kantendetektion - Laplace - Anwendung: nach Kontrasterhoehung
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Spezialfilter: Median Filter - Hilfsmittel zum Entfernung von Rauschen - Vorteil: Rauschen wird gut entfernt - Nachteil: Kanten werden evtl. verzerrt - Funktionsweise: - Ordne in einem bestimmten Radius alle Pixelwerte der Reihe nach - Nehme Pixelwert in der Mitte - Beispiel: >>>
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Median Filter - Anwendung des Median Filter - Bild wurde mit Rauschen gestoert
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT GPU Implementierung - Anwendungsbeispiele [extern]
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF - Morphing - Morphologie ist die Lehre von der Form und Struktur (griech. morphos = "Form") - Basisoperationen: - Erosion (Kontraktion) - Dilatation (Expansion) - Der Einfachheit halber werden hier nur S/W Bilder betrachtet
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Morphing - Erosion - Anforderungen an Form wird durch Strukturelement festgelegt (Matrix) - Strukturelement wird ueber Bild geschoben - Stimmen an der aktuellen Position die gesetzten Pixel des Strukturelements mit den Bildpixeln ueberein, wird der Pixel auf 1 andernfalls auf 0 gesetzt - Beispiel: BildausschnittStruktur = Ergebnis
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Morphing - Dilatation - Stimmt an der aktuellen Position mind. ein gesetzter Strukturpixel mit dem Bildausschnitt ueberein, wird der aktuelle auf 1 gesetzt - Beispiel: BildausschnittStruktur = Ergebnis
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT LF – Opening & Closing - Opening: - Erst Erosion, dann Dilatation - Effekt: Oeffnung von duennen Verbindungslinien - Closing - Erst Dilatation, dann Erosion - Effekt: Schliessung von nahe aneinanderliegenden Strukturen
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Beispiel: ErosionDilatation ErosionDilatation Opening Closing Original
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Diskrete Fourier Transformation - Ueberfuehrung der Bildinformationen in periodische Signale (cos Kurven) - DFT entspricht einem Basiswechsel => Informationserhaltend - Rueckwandlung der Transformierten Daten durch Inverse Diskrete Fourier Transformation (IDFT)
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT DFT - Formeln - DFT:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT DFT – 2 Dimensional - 2D DFT:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT DFT - Beispiel - Periodisch auftretendes Noise:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT DFT - Beispiel - Fourier Transformiert:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT DFT - Beispiel - Fourier Transformiert:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT DFT - Beispiel - Entfernung der Noise:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT DFT - Beispiel - Entfernung der Noise:
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Zukunft [todo] - GEGL - Abstrahierung der Operationen - Bessere Strukturierung der Daten -Kanten = Operationen -Knoten = Bilder - Idee: Filter sind keine Skripte, die optimiert kompiliert werden - GPU Bildbearbeitungsfilter - bisher noch keine Implementierung in komplexeren Zeichenprogrammen (z. B. Gimp, Adobe Photoshop)
Proseminar – Computer Graphics Martin Schreiber computer graphics & visualization POGPULFFT Literaturverweise und Links - RGB & YUV: GIMP & GEGL: DFT: