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