ズッキーニのプログラミング実験場

プログラミング + アカデミック + 何か面白いこと。 記載されているものは基本的に私が所属する団体とは関係がありません。

   Apr 27

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

by zuqqhi2 at 2013年4月27日
Pocket

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 &amp;&amp; userMap[index] > 0) {
        int colorIndex = userMap[index] % userColors.length;
        pixels[index] = userColors[colorIndex];
      }
    }
  }
  updatePixels();
}

実行結果は以下のようになる。
kinectsample1

こういったプログラムが以下の本に書いてある。

Related Posts

  • 2013年6月10日 [AR][Processing]3Dモデルの描画 背景 昨日でマーカーに立方体を表示させることができたから、今日は3Dモデルを描画してみる。 実装 メタセコイア形式の3Dモデルをロード&描画するためにMQOViewerというライブラリを使う。 3Dモデルはここからダウンロードしてつかった。 ソースコードは […]
  • 2013年6月9日 [AR]NyARToolkitを使ってみる 概要 マーカーベースのARプログラムを作成するためのライブラリとしてARToolKitというものがあるが、 それのProcessing版であるNyARToolkitを使用して簡単なARプログラムを作成してみる。 実装 ここから ライブラリをダウンロードして中身を一 […]
  • 2013年6月8日 [Processing]カメラの利用方法 概要 Processing カメラ ProcessingでARプログラムを作成するためにカメラを利用するプログラムを作ってみる。 ソースコード 以下がそのソースコード。 Processingだとものすごく簡単にかけるから便利! […]
  • gitweb2013年8月28日 [git][gitweb][nginx]Ubuntu12.04LTSサーバにgitリポジトリ作って gitweb を入れる やりたいこと Ubuntu 12.04 LTS上にGitの共用リポジトリを作成して、 gitwebをWebUIとして入れて複数人でプライベートで共同開発したい。 Gitのリモートリポジトリの作成 Gitのインストール Gitのインストールは単純に […]
  • <!--:ja-->[Java][Webカメラ][背景差分]Webカメラで撮っている動画に簡単な背景差分を適用してみる<!--:--><!--:en-->[Java][Web Camera][Background Subtraction]Apply Background Subtraction for Web Camera Movie<!--:-->2015年1月18日 [Java][Webカメラ][背景差分]Webカメラで撮っている動画に簡単な背景差分を適用してみる Target 1. Webカメラで動画取得 2. その動画にシンプルな背景差分を適用 Environment OSWindows 7 Enterprise SP1 java1.7.0_51-b13 […]
  • 2013年11月22日 [Shell][mysql]mysqldのプロセスを見て無かったら再起動するシェルスクリプト 目的 なぜか、個人サイトのアプリで使っているmysqldがたまに死ぬので、 短期的な対応としてプロセスを監視して死んだら再起動させるシェルスクリプトを作ってみた。 ソース これをcrontabで適当な間隔で実行させる。Target mysqld […]
Pocket

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.