読者です 読者をやめる 読者になる 読者になる

catalinaの備忘録

ソフトウェアやハードウェアの備忘録。後で逆引きできるように。

ARToolkitのマーカーファイル差し替え

ARToolkitのマーカーファイルを独自のものにしたい。
目的は友人からの一言「MTGのマナシンボル認識できれば遊べるんじゃね?」と。

1,マーカーパターン生成ツールをダウンロード


ARToolkitに認識するマーカーパターンファイルの生成ツールが入っているらしいので、ダウンロードしてくる。

2,マーカーパターンの生成ツールを起動する


1, ARToolkitをダウンロードして展開(SourceForgeにある)
2, ARToolKit-2.72.1-bin-win32\ARToolKit\binにあるmk_patt.exeを実行

起動しません。
glut32.dllが無いとか。
Windows8-64bit版の罠か?

3, OpenGL(GLUT.dll)のダウンロード

問題のDLLはopenGLのdllらしいので、適当に検索してダウンロード。
http://user.xmission.com/~nate/glut.html
バイナリ版とソース版があるけども、とりあえずバイナリ版でいいや。Windows上でOpenGLのコードいじり倒すつもりないし。

システムに突っ込むのは何か嫌なので、mk_patt.exeと同じパスにこのDLLを置く。
実行ファイルがDLL探すとき、自身のパスを探すのでこれでいけるハズ。

再びmk_patt.exeを起動。OK。起動した。

 

4, パターンファイルの作り方

Enter Camera parameter filename(Data/camera_para.dat)と表示される。
そのままEnterを押す。

Webカメラからの画像キャプチャが開始される。
Webカメラから取り込んだ画像中にマーカーとして認識できるものがあれば、赤と緑の枠で表示される。

左クリックするとプロンプトに"Enter filename:"と入力されるので、お好みのファイル名を入力する。

これでパターンファイルができるので、ひとつ前のエントリで書いたサンプルプログラムのasset/patディレクトリに格納して、パターンファイル名を置き換えてあげればよい。

5, パターンファイル生成の条件

パターンファイルとして使うためには、画像の認識の条件がいくつかある模様。
・黒枠カード+白色背景(デュエル用の卓)

この原因について考察。
パターン認識のコード見ると、輪郭抽出+四角形抽出としているので、次のようなケースだと輪郭抽出が失敗するのだと思われる。
・白枠+白色背景
これは輪郭抽出ができないことに起因する問題だと思われる


ということは、マナシンボルやらエキスパンションマークなんかはそのまま認識するのがムリ。カードの構成上、違うアプローチをしないといけない。

真面目に画像処理の勉強始めますかね。