hirax.net::Keywords::「OpenNI」のブログ



2010-12-11[n年前へ]

マイクロソフトKinectを活用するための開発者組織OpenNI 

 PrimeSense社ドライバーを公開、オープンソース・コミュニティOpenNIを開始

 安価な3次元センサー、マイクロソフトKinect™の赤外線深度カメラを開発したイスラエルのPrimeSense™社は、"Natural Interaction™"(自然なインタラクション)を利用したアプケーションをオープンに育成するための開発者組織OpenNI™をスタートさせました

2011-07-24[n年前へ]

IronRubyからKinectを使ってみる(OpenNI / OSX編) 

 RubyからMicrosoft Kinectを操作(制御)してみたくなったので、OpenNI(Ver1.1)の.NETバインディングを使い、IronRubyからKinectを操作するコードを書いてみました。たとえば、下に貼り付けてみたのは、IronRubyから深度データにアクセスするコード例です。

require 'OpenNI.net'
include OpenNI
require 'XnVNite.net'
include NITE

include System::Reflection
include System

require 'pp'

CONFIG_XML_PATH="SamplesConfig.xml"

@context=Context.new(CONFIG_XML_PATH)
@depthGenerator=nil
@depthGenerator=@context.FindExistingNode(NodeType.depth) 
status=@context.WaitAndUpdateAll() 
depthMetaData=@depthGenerator.GetMetaData()

pp [depthMetaData.XRes, depthMetaData.YRes]
pp @depthGenerator.DeviceMaxDepth
 このコードを実行すると、深度画像のXYサイズと最遠距離が、次のような具合に表示されます。
[640, 480]
10000

 動作テストはOSX上で行いました。つまり、OSX に.NET環境であるMonoをインストールし(もちろんOpenNIもここに書いてある手順に沿ってインストールし)、その上でIronRubyを動かしています。当然、Windows上でも動くと思いますが、動作確認はしていません(Windows側にはMicrosoft Research Kinect for Windows SDK betaをインストールしているので、OpenNIを入れていないのです)。

 RubyでKinectの操作・制御をする…というのは、必ずしも「上手い組み合わせ」ではないかもしれません。けれど、上のようなrubyコードを書くだけで「高度なセンサ群の塊であるKinectからデータを取得できる」となれば、面白く遊んでみたくなる人も多いのではないでしょうか。「Microsoft Xbox 360 Kinect センサー 」を買って、ずっと前に想像していた未来に来た気分になってみるのはいかがでしょうか。



■Powered by yagm.net