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);