Kinect を操作できる Node.js モジュールを作ってみた
Kinect ハッカソン Vol.2 の時に仕上げ損なったやつを GW で時間があったので、完成させました。libfreenect のラッパーなので、ボーンは取れません。
hakobera/node-freenect · GitHub
スクリーンショット (Kinect を WebSocket 経由でコントールしてるところ)

前に作った Kinect.js よりは速いのですが、正直、期待したほどの速度は出なかった(深度データのみ取得が MBA13 で 5-8 FPS) ので、実用性の面でお蔵入りしそうですが、全部 JavaScript で書けるのはやはり気持ち良いですね。
以下のようなコードが書けます。
var Freenect = require('freenect');
var kinect = new Freenect.Kinect(),
ledOption = 0,
prev = Date.now();
setInterval(function() {
var now = Date.now(),
interval = now - prev,
depth = kinect.getDepth(),
len = depth.length,
tiltAngle = kinect.getTiltAngle(),
i;
console.log('Interval: %d, Depth Size: %d, LED Option: %d, Tile Angle: %d',
interval, len, ledOption, tiltAngle);
// Manupulate depth pixel data like following code.
for (i = 0; i < len; ++i) {
depth[i] = 255 - depth[i];
}
// Change LED color and blink pattern.
kinect.setLed(ledOption);
ledOption += 1;
if (ledOption > 6) {
ledOption = 0
}
prev = now;
}, 200);