Bachelor Arbeit von Nico Schertler
Emulation eines Mauszeigers zur Präsentationssteuerung an der Powerwall
Lehrstuhl für Computergraphik und Visualisierung
Student: Nico
Schertler
Betreuer: Frank Michel
Verantwortlicher Hochschullehrer: Prof. Dr. Gumhold
Motivation
Bei der Arbeit an der Powerwall ist die Verwendung einer handelsüblichen Maus nur sehr bedingt sinnvoll, da die Steuerung typischerweise freihändisch vor der Präsentationsfläche erfolgen muss. Deshalb wurde in dieser Arbeit eine Maussteuerung mithilfe eines Laserpointers emuliert. Dazu wurde die Rückseite der Powerwall mit einer Kamera beobachtet und die Presenterknöpfe als Maustasten umgesetzt.
Beschreibung
In der Arbeit wird die Herangehensweise und der Aufbau der Software beschrieben. Dies umfasst unter anderem die Themen Kamerakalibrierung, Punktdetektion, perspektivische Transformationen sowie die verwendeten Entwurfsmuster und Hilfsalgorithmen. Zu den verwendeten Technologien und Frameworks zählen OpenCV (C++) und WPF (.Net).
Ergebnisse
Screenshot des entwickelten Programms
Ausblick
Momentan wird durch die Emulationssoftware die Position des Mauszeigers des Betriebssystems gesetzt. Dadurch können alle Programme gesteuert werden, die auf diesen zugreifen. Programme, die direkt auf Mausgeräte zugreifen sind so nicht steuerbar. Daher kann der Emulationscode in einen Softwaretreiber überführt werden, der im System eine zusätzliche Maus registriert. Dadurch ist es auch möglich, Multitouch (mit mehreren Laserpointern) zu unterstützen.
Erweiterungen sind durch den modularen Aufbau einfach realisierbar. So können weitere Erkennungsalgorithmen oder Gestenerkennung implementiert werden.
Downloads
- Bachelorarbeit (.pdf - 1.3 MB)
- Ausführbares Programm (.zip - 3.9 MB)
- Bedienungsanleitung der Software (.pdf - 0.5 MB)
- Quellcode (.zip - 6.5 MB)
- Folien der Verteidigung (Stereo) (.pptx - 7.7 MB)
- Folien der Verteidigung (Stereo) (.pdf - 3.3 MB)
Zum Kompilieren muss die Umgebungsvariable OPENCV_DIR gesetzt sein (bspw. D:\OpenCV\opencv\build). Außerdem muss die WPF Ribbon Library installiert sein.