Home > Archives > 2010-12

2010-12

kinectで遊んでいる様子

皆様こんにちは.
先日のKinectの記事に関して反響が大きかったので,
動かしている様子を収めた動画をアップしました.
Windows PC上でkinectの距離画像を取り出すために
OpenKinectをちょっぴり改造して使っています.
near-realtimeな処理が出来ていることをお分かりいただけると思います.
動作中にカメラの向きを変えても問題なく距離画像を取得できているので
ロボットのカメラに使えそうです.
しかし,野外などの赤外光のある環境下では,まともな距離画像が出てこないので
室内か夜に利用が限られてしまうのが残念なところ.

文責 : 鎌田 智也

  • Comments (Close): 0
  • Trackbacks (Close): 0

OpenKinectを使ってみる(VC++2005にて)

Windows用のOpenKinectのソースとデモが
http://openkinect.org/wiki/Main_Page (Installation→Windowsの先のリンクらへん)
からDLできるので,さっそく自分のプログラムでKinectを使う実験開始.

Code
こんな感じにOpenKinectのソースを自分のプロジェクトに追加し,
サンプルを参考にコードを書いて実行

……が,なにやら数フレーム後には固まる
→ヒープが破壊されたとかいうメッセージボックス
→ブルースクリーンに突入 Oh…

DLしてきたデモ(v14)もちょっとウィンドウ位置を動かしたりして負荷をかけるとそんな感じの現象を起こす
(コンソールに「データを取りこぼした」感じの文章が出始めたら危険信号).
“OpenKinect”とかで検索しても,デモを動かしてみた世間の方々はそんなことを言ってないので
私の環境だけの問題なのだろうか……?

どうにもKinectListenerのコールバック内で処理時間がかかると問題発生するように思えるので
コールバック内でできるだけ処理を行わないように組むと安定したようだ.
(プロジェクトの設定も速度優先な内容にした)

KinectTest
カラー画像とDepth値が取得できた.(OpenKinectのソースコードはv16のものをDLして使用)
怖くてデバッグ版では実行できないけど.

↑の画像は単純に得られたDepth値と色相を線形に対応づけて描画しただけ.
(v14のデモはコードを見るとガンマカーブ?使って色をもっとうまいこと割り当てているように見える)
黒い個所はDepth値が取得できない個所.(Depth値=0x7FFが取得される)
室内でテストした感じだと,オクルージョン領域以外に,
・光が反射したり透過したりするもの
・近すぎるもの(50cmくらいか?)
はDepthが取れないようだ.あと,右側数ピクセル幅の領域も取れない.

Depth値は 0~0x7FE(2046) くらいの幅でもらえるのかと期待したのだが,
データ取得してみた範囲内では,380~1050 程度の値しか入ってこない感じだ.

(by nakiusagi3)

  • Comments (Close): 0
  • Trackbacks (Close): 0

Home > Archives > 2010-12

Search
Feeds
Authorized
奨学金支援制度
Meta

Return to page top