Home > 技術 > 画像処理 Archive

画像処理 Archive

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

円パターンの自動認識

result6-1

【起】
カメラキャリブレ-ションでは,特徴点が格子状にならんだパターンボードがよく用いられます.
チェスボードパターンとか,円模様を並べたものとか.
で,それらを撮影したカメラ画像から
特徴点群の位置と,格子並び をどうにかして認識せねばなりません.
カメラ校正のために行うので,
カメラの内部パラメータが未知(=どのくらい歪んでいるかとかがわからない)
な状態でパターンの並びを認識せねばならないわけで,広角なカメラほど難しいです.

【承】
上司「おまえ,円パターン自動認識な」

【転と結】
グレースケール化した撮影画像にあれこれ頑張って認識しています.

なんか像が妙に縦長だったり…
result2-3

パターンボード内の明るさ変化が大きかったり…
result4-2

…と,思ったより過酷な環境で使われることが多いですが,頑張って動いているようです.
とは言え,難しすぎる画像を入れると失敗もあるわけで,稀に隣の席から舌打ちが聞こえてきたりしますが…

by nakiusagi3

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

Home > 技術 > 画像処理 Archive

Search
Feeds
Authorized
奨学金支援制度
Meta

Return to page top