PTAM - 1
AR(Augmented Reality,拡張現実)なるものを調べる。
マーカーを利用したリアルタイムでの合成が可能になり、こういう年賀状も、話題になった。が、驚愕の動画が!!!
断然、PTAM(Parallel Tracking and Mapping for Small AR Workspaces)を試しますよ。マーカーなんて、後からやります。
ってことで、
- PTAMのソース("PTAM.zip")を次のページからダウンロード Parallel Tracking and Mapping for Small AR Workspaces - Source Code
- とりあえず、PTAM_Testフォルダを作成して、そのフォルダを基準に、作業していきます。
PTAM.zipをPTAM_Testフォルダに解凍して、README.txtを読んでいきましょう。- サポートされてるOSは、LinuxとMacOS Xだけ。
Win32でもコンパイルできるけど、眼中にないって。
でも、今回はVisualStudio2005で。 - CPUはコアを2つ以上の2.4GHz以上。
- OpenGLを使って描画させていて、nVidiaでしかテストしてない。
- 広角レンズをはめたカメラで、640x480x30Hzまで対応している。
- サポートされてるOSは、LinuxとMacOS Xだけ。
- 続いて必要なライブラリを取得していきます。
次の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
と書いてあるので、次の内容でPTAM_Test\DownLoads\gvars3\gvars3\config.hを作成。
with the line #define GVARS3_HAVE_TOON if you want to use TooN#ifndef GVARS3_INCLUDE_CONFIG_H
もうひとつ、次のエラーに関しては、次のFastLishtToolkitをダウンロードしてから、
#define GVARS3_INCLUDE_CONFIG_H
#define GVARS3_HAVE_TOON
#endifエ ラー 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を取得して実行してインストール。
- TooN
- とりあえず、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の物を使うことにする。
最終的に動いたんだが、それは、又、別の、話。
">>> Licence and Download Link <<<"をクリックして、ライセンスに同意してから[Download]ボタンをクリックして入手。
