8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonでLeapMotionのデータを取得する。

Last updated at Posted at 2016-10-29

LeapMotionを使ってみたかったので、プログラムをPythonで書いてみました。
今回は、認識されている手の本数と、指の数を取得してみたいと思います。
##開発環境
開発していく環境はこちらになっています。

  • Windows8.1(64bit)
  • Python 2.7.11

##環境構築
まずLeapMotionを利用するためにはSDKが必要なので、developerサイトからSDKをダウンロードしてきます。
ダウンロードしてきたフォルダを解凍すると、LeapSDKというフォルダがあるので、その中のlibフォルダを開くと、Leap.pyのファイルとx64フォルダの中にある、Leap.dllとLeap.libを使用します。

##ディレクトリ構成
今回のディレクトリ構成はこちらになります。

├─lib
│ └─x64
└─src

先ほどのLeap.pyをsrcの中に、Leap.dllとLeap.libをx64に配置します。

これでLeapMotionをpythonで扱うための準備は終わりです。
##実行
srcフォルダの中にtest.pyを作成します。ファイルの内容は以下の通りです。

test.py

import sys
sys.path.insert(0,"../lib/x64")
import Leap
class SampleListener(Leap.Listener):
    def on_connect(self,controller):
        print "Connected"
    def on_frame(self,controler):
        frame = controler.frame()
        print "Frame id: %d, hands: %d,fingers: %d" %(frame.id,len(frame.hands),len(frame.fingers))
def main():
    listener = SampleListener()
    controller = Leap.Controller()
    controller.add_listener(listener)
    print "Press Enter to quit...."
    try:
        sys.stdin.readline()
    except KeyboardInterrupt:
        pass
    finally:
        controller.remove_listener(listener)
if __name__=="__main__":
    main()

それでは、test.pyを実行してみましょう。ファイルは何かキーが押されるまで、実行されるようになってます。

python test.py

実行すると、Frame idと認識されている手の数、指の数がそれぞれ表示されます。

実行結果
Frame id: 185744, hands: 2,fingers: 10
Frame id: 185745, hands: 2,fingers: 10
Frame id: 185746, hands: 2,fingers: 10
Frame id: 185747, hands: 2,fingers: 10
Frame id: 185748, hands: 2,fingers: 10
Frame id: 185749, hands: 1,fingers: 5
Frame id: 185750, hands: 1,fingers: 5
Frame id: 185751, hands: 0,fingers: 0
Frame id: 185752, hands: 0,fingers: 0
Frame id: 185753, hands: 0,fingers: 0
Frame id: 185754, hands: 0,fingers: 0
Frame id: 185755, hands: 0,fingers: 0

これで基本的なLeapMotionからのデータを取得することが出来ました。

以下は参考にしたサイトです。

1.https://developer.leapmotion.com/documentation/python/devguide/Project_Setup.html
2.https://developer.leapmotion.com/documentation/python/devguide/Sample_Tutorial.html

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?