故郷を離れて三十数年、関東で暮らす永遠の少年のどーってことない日記
xxSEARCHxx
プロフィール

ST☆FF

Author:ST☆FF
HTTといえばインテルの Hyper-Threading Technology!・・・ではなく、放課後ティータイムのことだと思います。

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム
ブログ内検索
RSSフィード
リンク

最近の記事


スポンサーサイト 

--/--/-- --:--/--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CATEGORY:スポンサー広告 | CM(-) | TB(-) |

Win7(64bit)で初めてのPTAM コンパイル編 

2010/09/25 12:22/Sat
マーカーレスAR技術である PTAM が話題になって久しいですが、自分も試しに挑戦してみることに。
因みに環境は Windows7(64bit) + Visual C++ 2008 Express Edition です。

まずは必要なソースコード及び各種モジュールの確認から。

 ・PTAM(PTAM.zip)
 ・GLEW(glew-1.5.0-win32.zip)
 ・Lapack and BLAS(Lapack-shared-libs.zipとheaders.tar.gz)
 ・CMU 1394 camera driver(1394camera645_src.zip)
 ・pthreads(pthreads-w32-2-8-0-release.exe)
 ・libjpeg for win32(jpeg-6b-4.exe)
 ・fltk(fltk-2.0.x-r7680.tar.bz2)

以下の三つは CVS で入手します。

 ・TooN(TooN-20081127.tar.gz)
 ・libCVD(libcvd-20081127.tar.gz)
 ・gvars3(gvars3-20081127.tar.gz)

早速手順に移ります。

● PTAM 本体
ダウンロード
①ページ中ほどの >>> Licence and Download Link <<< からリンクページを開いて PTAM.zip を入手。
②解凍して出てきた PTAM フォルダを自分のドキュメントフォルダ配下の \Visual Studio 2008\Projects\ に移動。
(即ち C:\Users\貴方のユーザID\Documents\Visual Studio 2008\Projects\)

● GLEW
ダウンロード
①News セクションの履歴からリンクページを開いて glew-1.5.0-win32.zip を入手。
②解凍して出てきた glew フォルダの中の各ファイルを次の場所へコピー。
(以下、{VC Root} は C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\に読み替えること)

bin/glew32.dll ⇒ C:\Windows\SysWOW64
lib/glew32.lib ⇒ {VC Root}/Lib
include/GL/glew.h ⇒ {VC Root}/Include/GL (GLは作成)
include/GL/wglew.h ⇒ {VC Root}/Include/GL

● Lapack and BLAS
バイナリダウンロード
①Lapack-shared-libs.zip を入手し解凍。
②blas_win32.dll と lapack_win32.dll を C:\Windows\SysWOW64 へコピー。
③blas_win32.lib と lapack_win32.lib を {VC Root}/Lib へコピー。
ヘッダーファイルダウンロード
①ページ下部の「LAPACK & BLAS header files for C/C++」セクションのリンクから headers.tar.gz を入手。
②解凍して出てきた lapack フォルダと blas フォルダを{VC Root}/Include/ へ移動。

● CMU 1394 camera driver
ダウンロード
①ページ上部「Current Version」セクションにあるバージョン番号 6.4.5 のリンクページで承諾リンクをクリック。
②開いたページのリストから 1394camera645_src.zip を入手。
③解凍して出てきた1394cameraフォルダを自分のドキュメントフォルダ配下の \Visual Studio 2008\Projects\ へ移動。
 (コンパイルするだけなので、実は何処に置いても構わない。以降のモジュールも同様)
④ソリューションファイル 1394camera.sln を開く。
⑤1394camera プロジェクトのプロパティを開き、構成で Debug を選択。左側のツリーでリンカ→全般を選択し、
 右側に表示された出力ファイル名を Debug/1394camera.dll から Debug/1394camerad.dll へ変更。
⑥バッチビルドで Release版 と Debug版 すべてをビルド。
⑦生成された 1394camera.dll, 1394camerad.dll を C:\Windows\SysWOW64 へコピー。
⑧生成された 1394camera.lib, 1394camerad.lib を{VC Root}/Lib へコピー。
⑨ヘッダーファイルはすべて{VC Root}/Include へコピー。

● pthreads
ダウンロード
①ページ中ほどの Download セクションにある「"pthread-w32-v-v-v-release.exe" at:」直下のリンクから FTP ディレクトリを開き、
 最下部のリンクから pthreads-w32-2-8-0-release.exe を入手。
②pthreads-w32-2-8-0-release.exe を実行。すると
 Pre-built.2
 pthreads.2
 QueueUserAPCEx
 の3つのフォルダが出てくる。
③Pre-built.2/includ eの semaphore.h、sched.h、pthread.h の3つのファイルを、{VC Root}/Include へコピー。
④Pre-built.2/lib の lib ファイルとAファイルをすべて{VC Root}/Lib へコピー。
⑤残りの dll ファイルをすべて C:\Windows\SysWOW64 へコピー。

● libjpeg for win32
ダウンロード
①ページ中ほどの Download セクションにある Complete package, except sources の Setup リンクから jpeg-6b-4.exe を入手。
②jpeg-6b-4.exe を実行してインストール。
  デフォルトでは「C:\Program Files (x86)\GnuWin32」というフォルダにインストールされます。
③ Visual C++ 2008 Express Edition を起動して、②でインストールされたパスを登録します。
 1.「ツール」メニュー→「オプション」とたどり、「プロジェクトおよびソリューション」の中にある「VC++ディレクトリ」を
 表示します。
 2.「ディレクトリを表示するプロジェクト」の項目で「インクルードファイル」を選択し、下部のパスが並んでいるところに
 「C:\Program Files (x86)\GnuWin32\include」
 を追加します。
 3.同様に「ディレクトリを表示するプロジェクト」の項目で「ライブラリファイル」を選択し、下部のパスが並んでいるところに
 「C:\Program Files (x86)\GnuWin32\lib」
 を追加します。

● fltk
ダウンロード
①fltk-2.0.x で最も古いものを入手(自分の場合は fltk-2.0.x-r7680.tar.bz2 で動作確認)。
②解凍して出てきた fltk-2.0.x-rXXXX フォルダの中の fltk フォルダをまるごと{VC Root}/Include へ移動。

● TooN, libcvd, gvars3
①まず CVS がないのでインストール。
②PTAM の README.TXT に記載されているバージョンを、記載通りのコマンドで取得。
# cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/toon co -D "Mon May 11 16:29:26 BST 2009" TooN
# cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/libcvd co -D "Mon May 11 16:29:26 BST 2009" libcvd
# cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/libcvd co -D "Mon May 11 16:29:26 BST 2009" gvars3
③TooNはフォルダごと{VC Root}/Include へ移動。
④libcvd は build/vc2005 の中のソリューションファイルを開いてバッチビルドで Release版 と Debug版 すべてをビルド。
 (vc2008用のフォルダもあるが使用しない)
⑤libフォルダに生成されたlibファイルを{VC Root}/Lib へコピー。
⑥cvdフォルダをまるごと{VC Root}/Include へ移動。
⑦gvars3 は次の修正をかます。
 1.gvars3/gvars3/config.h.in をコピーして config.h にリネーム。
 2.gvars3/gvars3/gvars3.h の 261行目を修正。 (参考資料)
  誤: 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);
⑧gvars3/build/vc2008 の中のソリューションファイルを開いてバッチビルドで Release版 と Debug版 すべてをビルド。
⑨libフォルダに生成された2つのlibファイルを{VC Root}/Lib へコピー。
⑩(gvars3の下の)gvars3フォルダをまるごと{VC Root}/Include へ移動。

以上で下準備が終わり、いよいよ PTAM をコンパイルします。

● PTAM コンパイル
①Build/Win32の中のPTAM.sln、PTAM.vcproj、CameraCalibrator.vcproj、VideoSource_Win32_CMU1394.cc を PTAM フォルダ直下へコピー。
②ソリューションファイルを開き、バッチビルドで Release版 と Debug版 すべてをビルド。


こんな感じでコンパイルが出来ました。
次回はWEBカメラ対応のパッチを当てる予定です。


スポンサーサイト

CATEGORY:趣味 | CM(7) | TB(0) |
xx HOME xx
質問です by. shige
はじめまして、shigeです。
PTAMのコンパイルにこちらのサイトを役立たせてもらっています。

1つわからない箇所があり、メールの宛先等が無かったため、こちらに書かせていただきました。

●libjpeg for win32
③ Visual C++ 2008 Express Edition で、インストールした場所にパスを通しておくこと。
の項目がよくわかりませんでした。

よろしければ、お手数ですが解説のほうよろしくお願いします。
2010.10.23 (23:11) | URL | EDIT
パスのとおし方 by. ST☆FF
>shigeさん
はじめまして。
説明を端折りすぎてしまってごめんなさい。
記事を加筆修正しましたので、ご覧下さい。

②jpeg-6b-4.exe を実行してインストール。
  デフォルトでは「C:\Program Files (x86)\GnuWin32」というフォルダにインストールされます。
③ Visual C++ 2008 Express Edition を起動して、②でインストールされたパスを登録します。
 1.「ツール」メニュー→「オプション」とたどり、「プロジェクトおよびソリューション」の中にある「VC++ディレクトリ」を
 表示します。
 2.「ディレクトリを表示するプロジェクト」の項目で「インクルードファイル」を選択し、下部のパスが並んでいるところに
 「C:\Program Files (x86)\GnuWin32\include」
 を追加します。
 3.同様に「ディレクトリを表示するプロジェクト」の項目で「ライブラリファイル」を選択し、下部のパスが並んでいるところに
 「C:\Program Files (x86)\GnuWin32\lib」
 を追加します。

2010.10.25 (23:29) | URL | EDIT
ありがとうございます by. shige
パスの通し方わかりました、ありがとうございます。

今日やっと最後までコンパイルできました!!
WEBカメラのほうもコンパイルでき、起動もでき、ホッとしました。
カリブレーションの方は、家にプリンターが無いので、大学でプリントしてこようと思います。

また何かあればよろしくお願いします。
2010.10.29 (05:50) | URL | EDIT
質問です by. ryo
はじめまして,ryoです
PTAMのコンパイルに役に立たせてもらってます

cvsにコマンドを記述通りのコマンドを入れると
対象に拒否され,接続不可
となってしまいます

cvsの設定に関してもう少し詳しく教えて頂けないでしょうか?

2011.09.29 (13:01) | URL | EDIT
cvsの設定 by. ST☆FF
>ryo さん
詳細がないので推測ですが・・・。
古い記事なので「当該ファイルが存在しない」のでは?
2011.10.02 (20:58) | URL | EDIT
by. ryo
返信ありがとうございます

…かもしれないですね(^_^;)
他の取得方法を探したいと思います
2011.10.03 (11:24) | URL | EDIT
by.
はじめまして、今回このサイトを見ながらPTAMを導入してみようと思ったのですが

途中で詰まってしまいました
「④libcvd は build/vc2005 の中のソリューションファイルを開いてバッチビルドで Release版 と Debug版 すべてをビルド。 」
の後
「⑤libフォルダに生成されたlibファイルを{VC Root}/Lib へコピー。 」
の操作をしたのですが
libフォルダというのが作成されていないようです

もしかしたら、私がlibフォルダを見つけられていないだけかもしれません
そもそも本来libフォルダというのはどこの作成されるものなのでしょうか

2012.04.16 (17:06) | URL | EDIT
トラックバックURL
→http://3335.blog106.fc2.com/tb.php/108-c7dc1b5e

コメントの投稿














xx HOME xx

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。