Tech Tips

  1. 要素技術
  2. 2226 view

[Kinect][Processing][Windows]環境準備

kinect processing windows

インストール

processingでkinectを扱うためには以下をインストールする必要がある。
  • OpenNI : Kinectを使うためのライブラリ
  • NITE : ジェスチャ認識などをするためのライブラリ
  • SensorKinect : Kinectのデバイスドライバ
  • Simple-OpneNI : processingでKinectを扱うためのライブラリ
これらのインストーラはすべて
https://code.google.com/p/simple-openni/downloads/list
からダウンロードすることができる。
  1. 環境に合わせてOpenNI_NITE_Installer-xxx-0.27.zipをダウンロード
  2. zipファイルを解凍してopenni-xxx-1.5.4.0-dev.msiをダブルクリックしてインストール
  3. nite-xxx-1.5.2.21-dev.msiをダブルクリックしてインストール
  4. SensorKinect092-Bin-xxx-v5.1.2.1.msiをダブルクリックしてインストール
  5. SimpleOpenNI-0.27.zipをダウンロードして解凍
  6. 解凍してできたフォルダをprocessingのルートフォルダ以下のlibrariesフォルダにコピー

軽く試してみる

ユーザを検出して人の部分に色を塗るプログラムを書いてみる。
import SimpleOpenNI.*;

SimpleOpenNI context;
color[] userColors = { color(255,0,0), color(0,255,0), color(0,0,255), color(255,255,0), color(255, 0, 255), color(0, 255, 255) };

void setup() {
  context = new SimpleOpenNI(this);
  context.setMirror(false);
  context.enableDepth();
  context.enableUser(SimpleOpenNI.SKEL_PROFILE_ALL);
  size(context.depthWidth(), context.depthHeight());
}

void draw() {
  context.update();
  image(context.depthImage(), 0, 0);

  int[] userMap = null;
  int userCount = context.getNumberOfUsers();
  if (userCount > 0) {
    userMap = context.getUsersPixels(SimpleOpenNI.USERS_ALL);
  }

  loadPixels();
  for (int y=0; y<context.depthHeight(); y++) {
    for (int x=0; x<context.depthWidth(); x++) {
      int index = x + y * context.depthWidth();

      if (userMap != null && userMap[index] > 0) {
        int colorIndex = userMap[index] % userColors.length;
        pixels[index] = userColors[colorIndex];
      }
    }
  }
  updatePixels();
}
kinectsample1
実行結果は以下のようになる。
こういったプログラムが以下の本に書いてある。

要素技術の最近記事

  1. Udacity Self-Driving Car Engineer Nanodegree …

  2. TF-Agents で独自の環境を利用する方法

  3. Amazon Rekognition Video を使って動画内の顔検出と境界ボックスの描…

  4. [触ってみた]Microsoft Quantum Development Kit

  5. Tensorboardを使ってニューラルネットワークと学習の状況を可視化する

関連記事

PAGE TOP