4. Bildverarbeitung

In diesem Teil des Kurses sollen elementare Techniken der Bildverarbeitung kennengelernt werden.

Grundlagen

Simple Bildmanipulationen

Geometrische Transformationen

Hinweise: Bei den meisten Transformationen ist es clever, nicht die Bildpunkte des Ausgangsbildes auf das Zielbild abzubilden, sondern die Pixel des Zielbildes abzuarbeiten und mit der inversen geometrischen Transformation die Pixel des Ausgangsbildes zu lesen.
Grund: Dieses Vorgehen stellt sicher, dass man auch wirklich alle Pixel des neuen Bildes bearbeitet.

Beispiel zum Rotieren eines Bildes

Zylinderprojektion

In diesem Teil soll ein Bild als Punktwolke auf einen Zylinder projiziert werden. Vorstellung: Etikett auf runde Konservendose kleben.

Dieser Zylinder soll dann mittels scatter3() visualisiert werden und als neues Bild gespeichert werden.

Hinweise:

Kugelprojektion

Analog zum Zylinder soll nun das Bild auf eine Kugel projiziert werden. Dazu eignen sich die Kugelkoordinaten: Wikipedia-Kugelkordinaten

      x=R*cos(phi)*sin(theta)
 y=R*sin(phi)*sin(theta)
 z=R*cos(theta)
 theta \in [0,pi]; phi \in [-pi,pi]

Der Radius R wird dabei konstant gesetzt, die Winkel phi und theta korrespondieren mit den Pixeln des Ausgangsbildes.

Ein gut geeignetes Testbild für Zylinder- und Kugelprojektion ist die folgende map:

Diese ergibt bei der Kugelprojektion: