Computer Vision in autonomen Systemen (Dr. Matthias O. Franz)
Transcription
Computer Vision in autonomen Systemen (Dr. Matthias O. Franz)
Fakultät für Informatik Wilhelm-Schickard-Institut für Informatik Abteilung Rechnerarchitektur Computer Vision in autonomen Systemen (Dr. Matthias O. Franz) Übungsblatt 1, WS 2002 Aufgabe 1 Darstellung von Bildsequenzen (4 Punkte) Zur Durchführung weiterer Experimente in den Übungen wird zunächst eine Funktion benötigt, die beliebige Bildsequenzen anzeigt. Implementieren Sie eine Funktion show seq(name), welche die Bilder einer Sequenz mit Dateinamen name mit Hilfe der Funktion imagesc anzeigt. Zwischen zwei aufeinanderfolgenden Bildern soll auf einen Tastendruck gewartet werden. Bildsequenzen sollen als einfache dreidimensionale Matlab-Arrays (seq(t, y, x)) behandelt werden und können mit dem Befehl load direkt eingelesen werden. Testen Sie Ihre Implementierung anhand der gegebenen Bildsequenz robot-corridor.mat. Aufgabe 2 Erzeugung von Testsequenzen (5 Punkte) Ein zweidimensionales bewegtes Sinusmuster soll im weiteren Verlauf der Übungen als Testsequenz verwendet werden. Entwickeln Sie eine Funktion make seq(name, dimt, dimy, dimx) zur Erzeugung eines Sinusmusters mit dimt Zeitschritten, der Breite dimx und der Höhe dimy. Das Sinusmuster soll die Wellenlänge λ = 0.5 · dimx haben und sich mit der konstanten Geschwindigkeit von 2 Pixeln pro Zeitschritt nach rechts bewegen. Die mittlere Helligkeit des Signals sei 0.5 und der Grauwertkontrast Imax − Imin = 1. Das Sinusmuster soll unter name als Sequenz gespeichert werden. Die Imax + Imin folgende Abbildung zeigt das erste Bild einer Sequenz mit dimx=50 und dimy=10 : K = 1 2 3 4 5 6 7 8 9 10 5 Dr. Matthias O. Franz, André Treptow 10 15 20 25 30 35 40 45 50 Abteilung Rechnerarchitektur 18. Oktober 2002 Aufgabe 3 Grauwertschnitte (3 Punkte) Schreiben Sie eine Funktion gray cut(name, plane, position) zur Anzeige von zweidimensionalen Grauwertschnitten in der Bildsequenz name. Der Parameter plane gibt dabei die Schnittebene an: plane 0 1 2 Schnittebene x-y x-t y-t Der Parameter position soll die Position des Schnitts spezifizieren: Ein Aufruf gray cut(’robot-corridor.mat’, 1, 128) zeigt z.B. den Schnitt in x-t-Richtung auf der Höhe y = 128 an. Dr. Matthias O. Franz, André Treptow Abteilung Rechnerarchitektur 18. Oktober 2002