こんなのが出ているというので試してみました。
ARToolkit はGPLライセンスなのでソース公開しなくちゃいけないし、そうじゃないと商用ライセンス買わなくちゃいけないし、ということで開発されたようです。
README によると、ARToolkit との違いは
ということのようです。
ARTag というのはこちら。ARTagは 6x6 マトリックス。
サンプルのマーカを見ても分かるように、マトリックスパターンではないマーカも使える模様。しかし、そのためなのか、ソースを見てみたところ SURF が使われている。SURF は特許の問題があるので、BSDライセンスとは言えども、特許権の問題はクリアする必要がある。どうせなら、パターンマトリックスのみを対象にして、patent free なライブラリにしてくれた方がうれしいかも。
Linux を target にしているようですが、Windows でも動くはずだよ、と書いてあるのでビルドしてみました。VS2008です。
まず、スタティックライブラリを作るには、空のプロジェクトを作って、以下のファイルを追加する。
- opencvar.cpp
- acgl.cpp
- acmath.cpp
- opencvar.h
- acgl.h
- acmath.h
「プリプロセッサの定義」に「__WINDOWS__」を設定してビルドすればOK。仮にこれで出来たのを opencvar.lib とすると、サンプルのビルドは以下のようにすればいい。
こちらも空のプロジェクトを作って、以下のファイルを追加する。
- example.cpp
- opencvar.h
- acgl.h
- acmath.h
リンクに必要なものは、cv.lib, cxcore.lib, highgui.lib, opencvar.lib。(追記:環境はv2.1です。v2.2はライブラリが随分と細分化されたんですね。)
実行結果はこんな感じ。画面を直接カメラで撮影してます。マトリックスパターンの上に tea pot が、クジラ(?)の上に立方体が表示されます。