Leap motion UVCのサンプルを動かすまで

Leap motionカメラの情報に直接アクセスする方法が公式から公開されました.
https://github.com/leapmotion/leapuvc

地味に落とし穴があったのでサンプルを動かすまでの手順をまとめておきます.

動作環境
・Windows10 64bit
・Python 3.7.2
・OpenCV 3.4.4.19 (opencv-python)
・numpy 1.15.4

まず,上にあげたリンクからプロジェクト(leapuvc-master)ごとダウンロードしてきてください.
次にダウンロードしてきたleapuvc-master/LeapUVC Firmware Toolsを開きます.

Leapmotionをパソコンに繋げた状態で,leapuvc-master/LeapUVC Firmware Tools内のUnlockDevice.exeを実行します.
この画像のように動いて100%になったら成功(だいたい30秒ぐらい)

これでLeap motion側の準備は完了.

この後お好みのサンプルコードを実行すれば終了...のはずが色々なエラーと戦いましたw
ちなみに自分はpythonのサンプルで動作確認しました.

まず,これ

要するにカメラで取得したサイズとプログラムで指定されているサイズが違いますよ~~というエラー
原因は,参照しているカメラが違っていたこと.
leapuvc.py内でデフォルトのままだとカメラのデバイス番号として0が参照されている.自分のパソコンだとデバイス番号0はパソコンのインカメに対応するインデックスだったのでそこを変更.
この数字は,接続されているカメラの数によって変わってくるので適宜変更してください.

これで,leap motionのカメラを参照できたはずなので...再度実行

どうやらカメラの値を取得できていない様子...
この原因はLeapmotion Control Panelが動作していたためらしい
Leapmotion Control Panelを停止させて再度実行

無事動作しました.良かったw
白く光っているのはスマートフォンのライトです.LEDの追従とかは簡単に実装できそうです.
ちなみにこのプログラムはCameraControlExample.pyです.

Leapmotionがカメラとして動作しているかは,skypeなどのビデオ通話アプリからwebカメラの切り替えを行うことでも確認できます.

コメントを残す

メールアドレスが公開されることはありません。