2009年10月6日火曜日

OpenCV2.0をWindowsで利用する

OpenCV2.0を4年生に試行してもらおうとしたら、どうやらライブラリがないとかいう。。。何のことかと思ったら、関連するDLLファイルがデフォルトではWindows用が用意されていないらしい。マジですか?前のバージョンもそうだったかなぁ。そういえば、何かDLLをとってきたような気もする(いや、これは違う話だったかな)。とにかくこういうのはノウハウの記録が大切。
で、解決策ですが、cmakeというツールを用いれば、各種DLLが自動的に作られるらしい。その手順を大雑把に書くと
  • cmakeをインストール
  • OpenCVのビルドディレクトリを指定してConfigureを押す
  • 赤いエラーがでたらもう1回Configureを押す 
  • Generatorボタンが有効になったらGeneratorボタンを押す
 以上の手順で、DLLを作成するためのVSプロジェクトがビルドディレクトリに作成されます。つづいて、
  • ビルドディレクトリに移動し、VSプロジェクトファイルを開く
  • debugモードで実行ボタンを押す
  • 10~20分くらいひたすらコンパイルが行われ(気長に待ちましょう)、無事デバッグ用DLLが作成
  • releaseモードで実行ボタンを押す
  • 10~20分くらいひたすらコンパイルが行われ(気長に待ちましょう)、無事release用DLLが作成
本記事をアップした直後に気付いてあわてて追記してますが、コンパイルは、debugモードとreleaseモードの両方をやって、それぞれのDLLを作成しておかないとまずいようです

以上の手順で作成されたDLLやLIBファイルをOpenCVのディレクトリに適時移動させてください。DLLやLIBはビルドディレクトリ内のbinとlibディレクトリにあります。

実はコンパイルの際に、omp.hがFile Not Foundであるというエラーが出る場合があります。 これは、OpenMPに関わるファイルらしく、"Windows SDK for Windows Server 2008 and .NET Framework 3.5"に入っているらしいです。

このエラーに関する解決策は

  • 該当のSDKをインストールして解決
  • Generatorボタンを押す前に、OpenMPに相当する記述のチェックを外す
 の、どちらかです。ボクは思わず後者を選んじゃいましたが、よかったのだろうか。。。前者がたぶん正攻法だと思います。

参考サイト


0 件のコメント:

コメントを投稿