SELF SATISFACTION自己満足BLOG
猫も杓子もブログ!ブログ!
HOME > 自己満足なBLOG
2009/05/05

PTAM - 1

AR(Augmented Reality,拡張現実)なるものを調べる。
マーカーを利用したリアルタイムでの合成が可能になり、こういう年賀状も、話題になった。が、驚愕の動画が!!!
断然、PTAM(Parallel Tracking and Mapping for Small AR Workspaces)を試しますよ。マーカーなんて、後からやります。
ってことで、

  1. PTAMのソース("PTAM.zip")を次のページからダウンロード
  2. Parallel Tracking and Mapping for Small AR Workspaces - Source Code
    ">>> Licence and Download Link <<<"をクリックして、ライセンスに同意してから[Download]ボタンをクリックして入手。
  3. とりあえず、PTAM_Testフォルダを作成して、そのフォルダを基準に、作業していきます。
    PTAM.zipをPTAM_Testフォルダに解凍して、README.txtを読んでいきましょう。
    • サポートされてるOSは、LinuxとMacOS Xだけ。
      Win32でもコンパイルできるけど、眼中にないって。
      でも、今回はVisualStudio2005で。
    • CPUはコアを2つ以上の2.4GHz以上。
    • OpenGLを使って描画させていて、nVidiaでしかテストしてない。
    • 広角レンズをはめたカメラで、640x480x30Hzまで対応している。
  4. 続いて必要なライブラリを取得していきます。
    次の3つのフォルダを作成しておきます。
    PTAM_Test\Download
    PTAM_Test\bin
    PTAM_Test\include
    PTAM_Test\Lib
    • TooN
      TooN-2.0.beta2.tar.bz2をPTAM_Test\Downloadフォルダに取得し、そのフォルダ上に解凍。
      TooN-2.0.beta2フォルダを、TooNと改名。
      PTAMビルド用にPTAM_Test\includeフォルダにもコピー。
    • libCVD
      libcvd-20090414.tar.gzをPTAM_Test\Downloadフォルダに取得し、そのフォルダ上に解凍。
      PTAM_Test\DownLoads\libcvd\build\vc2005\libcvd.slnを開いてビルド。
      しかし、
      エラー 1 fatal error C1083: include ファイルを開けません。'TooN\internal\config.hh': No such file or directory d:\ptam_test\downloads\toon\toon.h 38
      とかが出る。
      TooNの更新履歴を見ると、不要になったぽいので、PTAM_Test\TooN\internal\config.hhというファイルを作成して、エラーを回避してみる。
      が、
      エラー 1 fatal error C1083: include ファイルを開けません。'pthread.h': No such file or directory d:\ptam_test\downloads\libcvd\cvd\eventobject.h 4
      とか、またエラーが出るので、次のpthreadsのダウンロードを経て、
      Pre-built.2\include\pthread.hをPTAM_Test\DownLoads\libcvd\build\vc2005フォルダにコピーして再びビルド。
      とりあえず、エラーは出ないので、良しとする。
      PTAMビルド用に、
      PTAM_Test\DownLoads\libcvd\cvdフォルダを、PTAM_Test\includeフォルダにコピー、
      PTAM_Test\DownLoads\libcvd\Lib\libcvd.libを、PTAM_Test\Libにコピー。
    • pthreads
      pthreads-w32-2-8-0-release.exeをPTAM_Test\Downloadフォルダに取得し、そのフォルダ上に解凍。
      Pre-built.2,pthreads.2,QueueUserAPCExと、3つのフォルダができる。
      PTAMビルド用に、
      Pre-built.2/includeフォルダのファイルを、PTAM_Test\includeフォルダにコピー。
      Pre-built.2/libフォルダの*.libと*.Aを、PTAM_Test\Libフォルダにコピー、
      Pre-built.2/binフォルダの*.dllを、PTAM_Test\Binフォルダにコピー。
    • Gvars3
      gvars3-20090421.tar.gzをPTAM_Test\Downloadフォルダに取得し、そのフォルダ上に解凍。
      PTAM_Test\DownLoads\gvars3\build\vc2005\gvars3.slnを開いてビルド。
      しかし、
      エ ラー 2 fatal error C1083: include ファイルを開けません。'gvars3/config.h': No such file or directory d:\ptam_test\downloads\gvars3\gvars3\gvars3.h 31
      とかエラーが出るので、Gvars3の変更履歴をチェック。
      You'll need to create an empty config.h file for VisualStudio, or a config.h
      with the line #define GVARS3_HAVE_TOON if you want to use TooN
      と書いてあるので、次の内容でPTAM_Test\DownLoads\gvars3\gvars3\config.hを作成。
      #ifndef GVARS3_INCLUDE_CONFIG_H
      #define GVARS3_INCLUDE_CONFIG_H
      #define GVARS3_HAVE_TOON
      #endif
      もうひとつ、次のエラーに関しては、次のFastLishtToolkitをダウンロードしてから、
      エ ラー 16 fatal error C1083: include ファイルを開けません。'fltk/run.h': No such file or directory d:\ptam_test\downloads\gvars3\src\gui_fltk2.cc 37
      が、次のエラーが取れない。
      エラー 10 error C2064: 0 引数を取り込む関数には評価されません。 d:\ptam_test\downloads\gvars3\gvars3\gvars3.h 258
      以前のバージョンのソースを参考に、次の行を、
      template static T& get(const std::string& name, const T& default_val=DefaultValue::val(), int flags=0);
      次のように書き換える。
      template static T& get(const std::string& name, const T& default_val=T(), int flags=0);
      とりあえず、良しとする。
      PTAMビルド用に、
      PTAM_Test\DownLoads\gvars3\gvars3フォルダを、PTAM_Test\includeフォルダにコピー、
      PTAM_Test\DownLoads\gvars3\Lib\gvars3.libを、PTAM_Test\Libにコピー。
    • Fast Light Toolkit
      fltk-2.0.x-r6671.tar.bz2をPTAM_Test\Downloadフォルダに取得し、そのフォルダ上に解凍。
      fltk-2.0.x-r6671フォルダを、fltk-2.0と改名。
    • Lapack and BLAS
      コンパイルされたファイルshared-libs.zipをPTAM_Test\Downloadフォルダに取得し、そのフォルダ上に解凍。
      4つのファイルができるので、
      PTAM_Test\Download\*.libを、PTAM_Test\libフォルダに移動。
      PTAM_Test\Download\*.dllを、PTAM_Test\binフォルダに移動。
      headers.tar.gzをPTAM_Test\Downloadフォルダに取得し、PTAM_Test\includeフォルダフォルダに解凍。
    • GLEW
      glew-1.5.1-win32.zipをPTAM_Test\Downloadフォルダに取得し、PTAM_Test\includeフォルダフォルダに解凍。
      PTAM_Test\DownLoads\glew\include\GLフォルダを、PTAM_Test\includeフォルダに移動。
      PTAM_Test\DownLoads\glew\lib/glew32.libを、PTAM_Test\libフォルダに移動。
      PTAM_Test\DownLoads\glew\bin/glew32.dllを、PTAM_Test\binフォルダに移動。
    • CMU1394 camera driver
      1394camera645_src.zipをPTAM_Test\Downloadフォルダに取得し、そのフォルダ上に解凍。
      PTAM_Test\DownLoads\1394camera\1394Camera.dswを開いて、1394cameraプロジェクトのみビルド。
      PTAM_Test\DownLoads\1394camera\1394camera\Release\1394camera.libを、PTAM_Test\libフォルダにコピー。
      PTAM_Test\DownLoads\1394camera\1394camera\Release1394camera.dllを、PTAM_Test\binフォルダにコピー。
    • libjpeg for win32
      jpeg-6b-4.exeを取得して実行してインストール。
  5. とりあえず、PTMA/Build/Win32/PTAM.slnを開いてビルドしてみる。
    エラー 2 fatal error C1083: include ファイルを開けません。'VideoSource.h': No such file or directory d:\ptam_test\ptam\build\win32\videosource_win32_cmu1394.cc 7
    とかが出るので、README.txtを見直すと、
    Copy the contents of PTAM/Build/Win32 to PTAM
    と、ちゃんと書いてあるので、
    Win32フォルダの中身をPTAM_Test\PTAMフォルダにコピーしてから、再びビルドしてみる。
    すると、今度は、
    エラー 2 fatal error C1083: include ファイルを開けません。'TooN/numerics.h': No such file or directory d:\ptam_test\ptam\atancamera.h 47
    と出てきた。
    なんだかTooNのバージョンが1と2ではまったく違う感じで、今頃になってTooNのバージョンは1を使うらしいと感じてきて、、
    TooN,libCVD,Gvars3は、TooNのバージョンが1の物を使うことにする。
    最終的に動いたんだが、それは、又、別の、話。

ラベル: , , ,

最新
DropBox
Dropbox
Google Wave
シゾフレ・メランコテスト
AVG
MOB Strike
FON2303
簡単自作フォント
新サーバー
PTAM - 1
過去
2005/09
2005/10
2005/11
2005/12
2006/01
2006/02
2006/03
2006/04
2006/05
2006/06
2006/07
2006/08
2006/09
2006/10
2006/11
2006/12
2007/01
2007/02
2007/03
2007/04
2007/05
2007/06
2007/07
2007/09
2007/12
2008/01
2008/02
2008/04
2008/07
2008/08
2008/10
2008/12
2009/01
2009/04
2009/05
2009/07
2009/09
2009/10
2009/11
2009/12


Powered by Blogger

HOME TOP Copyright © 1997-Nori All Rights Reserved.