kivantium活動日記

プログラムを使っていろいろやります

OpenCV2.3でkinect (Ubuntu11.04)

OpenCVというライブラリを使うと簡単に画像処理が出来るそうなので調べてみたら、kinectをサポートしていることが分かったので、早速インストールしてみました。Windowsでやっている人が多くて情報を見つけるのに苦労しましたが、英語版のチュートリアルを見たらあっさりできました。公式のドキュメントを参考にするのが一番です。
何となくEclipseを使ってみました。

必要なもの

  • UbuntuでのOpenNI環境一式。
  • OpenCV 2.3のソース
  • Eclipse CDT
    sudo apt-get install eclipse eclipse-cdt で大丈夫なはず。UbuntuでEclipseことはじめを参考に日本語化などをしてください。
  • インストールの流れ
    1. OpenNIの環境を整える(Ubuntu 10.10 でkinectを動かすの通りやれば大丈夫でした。
    2. OpenCVのビルドに必要なものをインストール(参考:OpenCV Installation Guide)
      $ sudo apt-get install build-essential cmake cmake-gui libavformat-dev libswscale-dev libgtk2.0-dev
      不要なものもあるかもしれません…。
    3. OpenCVのインストール
      OpenCV-2.3.0.tar.bz2を解凍して、ターミナルでフォルダに行き、以下のコマンドを入力する。
      $ mkdir release; cd release
      $ cmake-gui ..

      ここでウィンドウが開くので、CMAKE_BUILD_TYPEがRELEASEに、CMAKE_INSTALL_PREFIXが/usr/localになっていて、BUILD_NEW_PYTHONSUPPORTにチェックがついていることを確認したら、WITH_OPENNIにチェックを入れて、Configure→Generateします。WITH_OPENNIにチェックを入れるとkinectが使えるようになります。
      その後ターミナルに戻って、
      $ make
      $ sudo make install

      でインストールします。
    4. テストをする
      kinectを接続して、OpenCVのフォルダの中のbin/kinect_maps を実行して画像が出力されることを確認します。
    5. Eclipseの設定
      Using OpenCV with Eclipse (plugin CDT)の通り設定します。
    6. コンパイルのテスト
      OpenCV2.3RCのOpenNIでKinectを使うのサンプルコードをコピペして、プロジェクト→すべてビルドし、エラーが無ければ実行→実行して、カメラからの画像が出力されたら成功です。
    7. 相変わらず人の記事にリンクを貼りまくっているだけですが、誰かの役に立てば幸いです。