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]](/blog/entries/Kinect/20101201_01/ofxkinect_01.png)
Xcode が起動したらビルドと実行を行う。例によって右上はボカシ済み。
![[Demo]](/blog/entries/Kinect/20101201_01/ofxkinect_02.png)
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 から取得した画像が表示される。 右側に実際はもっときちんとした画が表示されるが、お見せできるような状況ではないためボカしてある。
![[サンプルアプリケーション]](/blog/entries/Kinect/20101130_01/kinect_01.png)



