Softdev

PTAMのコードが公開されたので、試してみた。

PTAMとは、Parallel Tracking and Mappingです。

ってごちゃごちゃ説明してもしょうがないので、この動画を見てくれ。有名なやつね。

先日、このソースコードがダウンロードできるようになったので、試してみた。

マーカレスAR(PTAM)のソースコードを動かしてみた(WindowsXP VisualC++) | happymeme

工学ナビの中の人の研究と周辺 あのマーカレスARの研究がついにソース公開!

を参考にしました。

以下は、happymemeでのやり方を自分なりにアレンジしたもの。

環境は、Windows VistaとVisual C++ 2005 Express。

必要なものは、happymemeに書かれている「必要なもの」を全部。

IEEE1394のカメラは持ってないので、Webカメラで。その代り、工学ナビの中の人の研究と周辺で書かれている、PTAM_webcam.zipをゲット。同様に、ewclib12.lzhも必要。ewclib12.lzhは展開して、中身をPTAMのソースコードの中にコピー。

happymemeでは全部、{VC Root}やWindows\System32の下に放り込むようになってたけど、僕は、そのへんは汚したくなかったので、PTAMってフォルダを作って、PTAM\IncludeとPTAM\libとPTAM\binにしてそこに放り込む。GLEWやらLapack and BLASやらのPTAM本体以外でもってきたコードは、全部一つのフォルダに放り込む。結構、となりのフォルダにそのヘッダがあるのを前提にプロジェクトのincludeの設定がしてあるので、注意。

happymemeでは、CVSを使って指定した日付のバージョンのTooNやらlibcvdやらgvars3を持ってくることになっているけど、僕の使ってるTortoiseCVSでは、やり方がよくわからんかったんで、思いついたまま、最新版をいただきます。

工学ナビの中の人の研究と周辺から頂いた、PTAM_webcam.zipを展開して中のREADMEに従って処理。

ここで注意。あのコードは、PCにUSBカメラが1個だけつながっていることを仮定して書かれている。僕の場合、チューナーカードが刺さっていたため、USBカメラが複数あって、カメラが認識されなくて頭を抱え込んだ。

VideoSource_Win32_EWCLIB.cc の 22行目、EWC_GetBufferSize(0)ってのと、36行目、EWC_GetImage(0, m_buffer)ってのの"0" ってのがカメラ番号なんで、自分の使いたいカメラに従って変更。自分の使いたいのがどれだかわからんかったら、ewclib.hの140行目あたりに、printf("displayname(%d):%s\n",i,displayname);とでも書いて、一度実行してみれば、表示される。

PTAM01

ということで、動きました。

いまいち、最初のキャリブレーションのコツがわかりません。

僕が使っている、USBカメラは、マイクロソフトのVX-6000でして、これが71度もある広角レンズでして。それに、USBケーブルがつながっていて、手ぶれ補正も当然なくて、、、なんか微妙。

PTAM02
キャリブレーションが悪いからなのか、それともカメラの画質、というか解像度がどうのというよりも、ブラーがひどいので、とかその辺の理由か、今いち。。。

あぁ、VCがExpressなんで最適化がかかってないから余計に遅いのかな。まぁうちのPCもそんな、めちゃめちゃ速いってわけでもないしな。

PTAM03
まぁ動いたということで。。。

ちょっとソースコードでも読ませてもらおうかな。読書の秋だしね。

でも、PTAMのプロジェクト自体ってそんなにコードは長くないんだよね。逆に、長くないから速く動けるのかしらん? 

トラックバック(2)

トラックバックURL: http://www.cagylogic.com/cgi-bin/MovableType/mt-tb.cgi/1384

2009年9月1日から9月31日のアクセス数Top10です。... 続きを読む

2009年が終わりました。毎年恒例ですが2009年におけるcagylogicのア... 続きを読む

コメント(2)

こんにちは。
読ませていただきました。
私もPTAMを使ってみたのですが、デスクトップPCでは成功したのに、ノートPCではうまくいきませんでした。
カメラのセッティングや映像の表示、平面の設定はできました。
平面の設定後、網目状の平面は表示されるのですが、Draw ARを変更しても、目玉が表示されません。
表示できるようにできますか?
グラフィックが対応していないのでしょうか?
ノートPCはdynabookのNXE/76HEです。

コメントする

ウェブページ

カテゴリ

2010年8月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

このブログ記事について

このページは、が2008年10月 8日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「USER'S SIDE USA」です。

次のブログ記事は「蟹工船から小さな政府まで」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。