GUST NOTCH? DIARY

OpenCV-AR というのを試してみた

こんなのが出ているというので試してみました。

ARToolkitGPLライセンスなのでソース公開しなくちゃいけないし、そうじゃないと商用ライセンス買わなくちゃいけないし、ということで開発されたようです。
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 が、クジラ(?)の上に立方体が表示されます。