Über die Kinect und wie man für sie programmieren kann

Bildquelle: Amazon

Wer die Kinect am Computer bestimmungsgemäß nutzen möchte, hat damit sehr wenig Freude. Es gibt so gut wie keine Anwendungen für die Kinect unter dem Betriebssystem Windows. Auch ist für die aktuellen Treiber Windows 7 nötig. Gehe ich jetzt aber in die Eigenentwicklung, lerne das Programmieren mit C# oder C++, beginne zu verstehen, wie die kinect arbeitet, dann gestaltet sie sich immer interessanter. Es gibt zwei Versionen, die sogenannte „Kinect 360“ und eine neuere „Kinect for Windows“. Die neuere Kinect hat meiner Meinung nach keinen Vorteil.

Was kann ich mit der Kinect machen? Zuerst einmal hat die Kinect drei diskrete Funktionen: Sie hat eine Reihe von Mikrofonen, die es ermöglichen nicht nur Klang aufzunehmen bzw. Stimmen sondern auch deren Richtung. Oder aber festzulegen, daß Klang aus genau dieser Richtung gefiltert werden soll und alle anderen Klangquellen ausgeblendet werden sollen. Dann ist es eine Kamera, die auch für Skype verwendet werden kann und letztlich gewinnt sie Tiefeninformationen aus der Aufnahme der Verzerrung eines mit einem Infrarotlaser projizierten Musters.

Diese Tiefeninformationen wandelt die Software in ein Array um, das 640 mal von 0 bis 479 die Tiefeninformationen als Ganzzahlen in der Einheit Millimeter Entfernung von der Kinect angibt. Die Frage ist jetzt natürlich, was macht man damit? Bislang klingt das alles noch ziemlich langweilig, wenn man noch nie etwas mit Programmierung zu tun hatte. Wenn doch, sollten so einige hier leuchtende Augen bekommen.

Wenn ich bei dem Videoportal YouTube oder einer Suchmaschine den Begriff Kinect und Hack eingebe, finde ich ungefähr 20 % gute Entwicklungen. So etwa ReconstructMe.

Es ist nach wie vor so, daß sich die Entwickler nicht auf ein Treiberpaket einigen können. So gibt es Treiber von Microsoft, die sogenannten offiziellen Treiber und es gibt Treiber des Herstellers der Tiefenkamera. Die Letzteren haben keine Unterstützung für die Mikrofonmöglichkeiten implementiert, dafür sind sie aber in vielen Fällen schneller. Nachdem Microsoft seine Treiber und damit auch seine Codestrukturen häufig ändert, haben viele Programmierer keine Lust, diese Treiber zu nutzen um damit ständig ihren Code optimieren zu müssen für eine geringe Leistungssteigerung.

Ich verwende trotzdem die aktuellen Kinect Treiber, da sie sich leichter installieren lassen. Außerdem verwende ich in meinen Anwendungen alle Sensoren der Kinect und kann daher die anderen Treiber nicht nutzen.

Es gibt übrigens nicht nur C# und C++ um für die Kinect zu programmieren. So kann man etwa auch Processing verwenden, das auf Java und die OpenNI-Treiber aufbaut. Ganz entgegen dem Klischee, daß Java sehr langsam sei geht das erstaunlich gut.

Auch ipiSoft hat sich der Thematik angenommen und eine beeindruckende Motion-Capture-Software geschrieben.

Kinect bei Amazon bestellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.