Dec 01, 2010

[Kinect] ofxKinect で Kinect の開発環境を用意する

Xcode に Kinect の開発環境を用意してみた。 ofxKinect という OpenFrameworks と OpenKinect を組み込み済みのプロジェクトテンプレートが公開されているのでそれを Xcode から読み込んだだけ。

ofTheo's ofxKinect at master - GItHub
https://github.com/ofTheo/ofxKinect
openFrameworks
http://www.openframeworks.cc/

以下、作業メモ。

ofxKinect の準備

$ git clone https://github.com/ofTheo/ofxKinect.git
$ git clone https://github.com/openframeworks/openFrameworks.git
$ cp -r ./ofxKinect ./openFrameworks/xcode\ templates/Project\ Templates/

ofxKinect デモアプリケーションの起動

./openFrameworks/xcode templates/Project Templates/ofxKinect/ofxKinect.xcodeproj を実行し Xcode を起動する。

[Xcode]

Xcode が起動したらビルドと実行を行う。例によって右上はボカシ済み。

[Demo]

Posted in Kinect | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |

Nov 30, 2010

[Kinect] MacOS X で Kinect にチャレンジ

Kinect ハックで楽しんでいる人が巷に溢れかえっている昨今。 あんなに楽しそうなことが出来ないのはくやしいので Kinect を購入してマネをして遊ぶことに。 とりあえず今回は MacOS X で Kinect を動作させるところまでの作業メモ。

MacOS X で Kinect を使用するには OpenKinect をインストールすれば良いらしい。 OpenKinect のインストールに関する詳細は以下のサイトを参照のこと。

OpenKinect
http://openkinect.org/
OpenKinect's libfreenect at master - GitHub
https://github.com/OpenKinect/libfreenect
Compiling OpenKinect on a stubborn OSX 10.6.5 (Updated 21/Nov)
http://www.spoofscript.com/blog/?p=327

Kinect を接続する前に

今回使用した MacOS X は Snow Leopard (10.6.5)。予め MacPorts をインストール済み。 まずは OpenKinect のインストールに必要なものを揃える。 使用した環境では git と cmake が足りないので、MacPorts を使用してインストール。

$ sudo port install git-core
$ sudo port install cmake
$ port list git-core cmake
git-core                       @1.7.3.2        devel/git-core
cmake                          @2.8.3          devel/cmake

OpenKinect のソースコードをダウンロード

git で OpenKinect のソースコードをダウンロードする。 libusb も必要となるので併せてダウンロードしておく。

$ git clone https://github.com/OpenKinect/libfreenect.git
$ git clone git://git.libusb.org/libusb.git

libusb のインストール

libusb を configure; make; make install する。 libusb に OpenKinect 用のパッチを当てる必要があるので注意。

$ cd ./libusb/
$ chmod +x autogen.sh 
$ ./autogen.sh 
$ patch -p1 < ../libfreenect/platform/osx/libusb-osx-kinect.diff 
patching file libusb/libusbi.h
patching file libusb/os/darwin_usb.c
patching file libusb/os/darwin_usb.h
patch unexpectedly ends in middle of line
Hunk #2 succeeded at 147 with fuzz 1.
$ ./configure 
$ make
$ sudo make install | tee ./install.log
Password:
Making install in libusb
test -z "/usr/local/lib" || .././install-sh -c -d "/usr/local/lib"
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libusb-1.0.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libusb-1.0.0.dylib /usr/local/lib/libusb-1.0.0.dylib
libtool: install: (cd /usr/local/lib && { ln -s -f libusb-1.0.0.dylib libusb-1.0.dylib || { rm -f libusb-1.0.dylib && ln -s libusb-1.0.0.dylib libusb-1.0.dylib; }; })
libtool: install: /usr/bin/install -c .libs/libusb-1.0.lai /usr/local/lib/libusb-1.0.la
libtool: install: /usr/bin/install -c .libs/libusb-1.0.a /usr/local/lib/libusb-1.0.a
libtool: install: chmod 644 /usr/local/lib/libusb-1.0.a
libtool: install: ranlib /usr/local/lib/libusb-1.0.a
test -z "/usr/local/include/libusb-1.0" || .././install-sh -c -d "/usr/local/include/libusb-1.0"
 /usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0'
Making install in doc
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/lib/pkgconfig" || ./install-sh -c -d "/usr/local/lib/pkgconfig"
 /usr/bin/install -c -m 644 libusb-1.0.pc '/usr/local/lib/pkgconfig'

OpenKinect のインストール

libusb がインストールできたら、本命の OpenKinect をインストール。 途中 ccmake 云々のくだりは手順書通りにやっただけで ccmake を知っているわけではないので不要かもしれない。

$ mkdir ./libfreenect/build
$ cd ./libfreenect/build
$ ccmake ..
※ccmake が起動したら、'c' → 'g' をタイプ。
$ cmake ..
-- Operating system is Apple MacOS X
-- Got System Processor i386
-- libfreenect will be installed to /usr/local
-- Headers will be installed to /usr/local/include/libfreenect
-- Libraries will be installed to /usr/local/lib
-- Found libusb-1.0:
--  - Includes: /usr/local/include
--  - Libraries: /usr/local/lib/libusb-1.0.dylib
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/me/libfreenect/build
$ make
$ sudo make install | tee ./install.log
Password:
[ 33%] Built target freenect
[ 66%] Built target freenectstatic
[ 73%] Built target glview
[ 86%] Built target fakenect
[ 93%] Built target record
[100%] Built target freenect_sync
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/libfreenect.0.0.1.dylib
-- Installing: /usr/local/lib/libfreenect.0.0.dylib
-- Installing: /usr/local/lib/libfreenect.dylib
-- Installing: /usr/local/lib/libfreenect.a
-- Installing: /usr/local/include/libfreenect/libfreenect.h
-- Installing: /usr/local/include/libfreenect/libfreenect.hpp
-- Installing: /usr/local/bin/glview
-- Installing: /usr/local/lib/fakenect/libfreenect.0.0.1.dylib
-- Installing: /usr/local/lib/fakenect/libfreenect.0.0.dylib
-- Installing: /usr/local/lib/fakenect/libfreenect.dylib
-- Installing: /usr/local/lib/libfreenect_sync.0.0.1.dylib
-- Installing: /usr/local/lib/libfreenect_sync.0.0.dylib
-- Installing: /usr/local/lib/libfreenect_sync.dylib
-- Installing: /usr/local/include/libfreenect/libfreenect_sync.h

Kinect の動作確認

OpenKinect に添付されているサンプルアプリケーションで Kinect の動作確認をする。 まずはサンプルアプリケーションのビルドから。

$ cd ./libfreenect/examples/
$ cp ../include/* .
$ cmake .
$ make

make が正常に終了したら、Kinect を Mac に接続する。 接続したらサンプルアプリケーションを起動する。
$ ./glview 
Kinect camera test
Number of devices found: 1
GL thread
   (略)

起動すると以下の様に Kinect から取得した画像が表示される。 右側に実際はもっときちんとした画が表示されるが、お見せできるような状況ではないためボカしてある。

[サンプルアプリケーション]

Posted in Kinect | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |