OpenNIでプログラミング

OpenNIのインストールが終わって、サンプルも動いたら、やっとプログラムが作れるようになります。
何だかんだで、私は一番ここに手惑いました。

OpenNIで最初のプログラミング


① プログラムを用意する
今回は「OpenNI 3Dセンサープログラミング」という本を使って行いました。
本を見ながら打つのもありですが、今回はサンプルコードを以下のサイトからダウンロードてきました。
https://github.com/OpenNI2-Book/openni2book
ダウンロードしてきたフォルダを解凍して、
openni2book-master/02/OpenNI2/01_ColorStream/01_ColorStream/main.cppを作業用のフォルダに移動します。
今回は作業用フォルダは~/Dropbox/kinect/program/ColorStream/とします。

            cp -a main.cpp ~/Dropbox/kinect/program/ColorStream/
        


② Makefileなどを用意する。
OpenNIのサンプルフォルダから必要そうなものを取ってきます。
詳しくわからないので、取ってきているものはテキトーです。(もしかしたらいらないものがあるかも)
前回の通りにインストールした場合は、サンプルフォルダは~/Xtion/OpenNI2/Samplesです。
このフォルダ内から次の7つのものをコピーしてきます。
CommonCppMakefile
CommonDefs.mak
CommoTargets.mak
OniSampleUtilities.h
Platform.Arm
Platform.x64
Platform.x86
これらをさきほどのmain.cppをコピーしたフォルダにコピーします。

            cp ファイル名 ~/Dropbox/kinect/program/ColorStream/
            cd ~/Dropbox/kinect/program/ColorStream/
        

次に、Makefileを作成します。
次の内容をMakefileというファイル名で保存してください。

            include CommonDefs.mak

            BIN_DIR = Bin

            SRC_FILES = *.cpp

            ifeq ("$(OSTYPE)","Darwin")
                CFLAGS += -DMACOS
                LDFLAGS += -framework OpenGL -framework GLUT
            else
                CFLAGS += -DUNIX -DGLX_GLXEXT_LEGACY
                USED_LIBS += glut GL
            endif

            USED_LIBS += OpenNI2 opencv_core opencv_highgui opencv_imgproc

            EXE_NAME = ColorStream

            CFLAGS += -Wall


            INC_DIRS += $(OPENNI2_INCLUDE)

            include CommonCppMakefile

            .PHONY: copy-redist
            copy-redist:
                cp -R $(OPENNI2_REDIST)/* $(OUT_DIR)

            $(OUTPUT_FILE): copy-redist
        



③ OpenCVのインストール 今回のプログラムではopencvを使うのでインストールします。

            sudo apt-get install libcv-dev libcv2.3 \
                                 libopencv-highgui-dev \
                                 libopencv-highgui2.3 \
                                 libopencv-contrib-dev
        



④ ビルドの実行
準備ができたので実行します。

 make 

実行しますと、Binというフォルダが生成されます。
そのフォルダの中のBin/x64-Release/ColorStreamが実行ファイルです。

            cd Bin/x64-Release/
            ./ColorStream
        

実行出来ましたでしょうか?



他のプログラムの作り方


先程作成したもののmain.cppを差し替えることで、他のプログラムを作ることができます。
プログラムをmain.cppという名前で保存してmakeを実行してください。
MakefileのEXE_NAME = ColorStreamの部分を書き換えることで実行ファイルの名前を変えることができます。

何かありましたら、Twitterなどでご質問ください。お待ちしています。
@KTokunn