OpenCV2.0のインストール:Windows(windows:32bit, 64bit, VIsual Studio)

13 2月 2010 Under: opencv2.x-tips

* この投稿は,Amboinensis, dandelion, Guernsey, ultraist (敬称略,辞書順)のWebページやTwitter log を大いに参考にして作成されています.参考リンクは,投稿の最下部にあります.

■安定版をインストール

1. sourceforge.net から,インストーラ付き実行ファイル(OpenCV-2.0.0a-win32.exe)をダウンロード,インストールします.

配布場所:http://sourceforge.net/projects/opencvlibrary/

win32 アプリケーションですが,64bit 環境でも実行可能です.デフォルトのインストール先は”C:\OpenCV2.0″ です.

2. Windows SDK for Windows Server 2008 and .NET Framework 3.5 をダウンロード,インストールします.

配布場所:Windows SDK for Windows Server 2008 and .NET Framework 3.5

OpenMP を EnableにしてOpenCVをコンパイルする場合には,上記ファイルをダウンロードします.OpenMP を利用しない場合は,4. に進んでください.ただし,Visual Studio 2005 以降で Standard より上位(Standard を含む)のバージョンを利用している場合は,これをインストールする必要はありません.なお,OpenMPを利用したリリース版のプログラムを配布して他のWindows環境で実行する際には,必要なDLLを同時に配布するか, Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86) をインストールしてもらう必要があります.

OpenMP を利用するためだけに利用するならば,必要なものだけをインストールします.

3. OpenMP を有効にしたOpenCV を利用するアプリケーションで,デバッグ実行を行うための設定をします.

上述の SDK をインストールしても Debug 版 DLL(vcompd.dll, vcomp90d.dll) は入りませんので,Express Edition では OpenMP を利用した OpenCV を利用したアプリケーションのデバッグ実行は行えません.そこで,デバッグ用のライブラリを無視しして,リリース版のライブラリをリンクすることで,デバッグ実行を可能にします.リリースビルドしか行わない場合は,この処理は必要ありませんので 4. に進んでください.

Debugモードにおけるプロパティで,「リンカ」→「入力」→「追加の依存ファイル」に “vcomp.lib” を追加し,「特定のライブラリの無視」に “vcompd.lib” を追加します.対象となるプロジェクトは,”cxcore”,”cv”,”ml”,”cvaux” です.また,学習アプリケーションをデバッグ実行する必要がある場合は,”haartraining”,”traincascade” でも同様の操作を行ってください.Release モードのプロパティは変更する必要はありません.

さらに,omp.h の呼び出し以前に _DEBUG がマクロ定義されているか否かで,リンクするライブラリ( vcomp.lib か vcompd.lib)を決めているので,デバッグ版でもリリース版(vcomp.lib)をリンクするようにソースファイルを変更します.変更箇所は以下の2箇所.

cxmisc.h:変更前

#ifdef _OPENMP
#include "omp.h"
#endif

cxmisc.h:変更後

#ifdef _OPENMP
  #ifdef _DEBUG
    #undef _DEBUG
    #include "omp.h"
    #define _DEBUG
  #else
    #include "omp.h"
  #endif
#endif

cvboost.cpp:変更前

#ifdef _OPENMP
  #include <omp.h>
#endif /* _OPENMP */

cvboost.cpp:変更後

#ifdef _OPENMP
#ifdef _DEBUG
#undef _DEBUG
  #include <omp.h>
#define _DEBUG
#else
  #include <omp.h>
#endif
#endif /* _OPENMP */

4. CMake を利用してソリューションを作成,OpenCVをビルドします.

CMake をインストールしていない場合は,以下のサイトからダウンロードしてインストールしておきます.

配布場所:http://www.cmake.org/cmake/resources/software.html

まず,ソリューションを作成する前に,作業用のフォルダを作成します.ここでは,”build” という名前のフォルダを OpenCV2.0 がインストールされたフォルダの直下に作成します.つまり,OpenCV を D:ドライブ 直下にインストールした場合は,”D:\OpenCV2.0\build” というフォルダになります.以下では,この仮定で表記を行います.

CMake (cmake-gui) を起動し,”Where is the source code:” に “D:/OpenCV2.0″ を, “Where to build the binaries:” に ”D:/OpenCV2.0/build” を選択します.ついで,ビルドオプションを選択します.

ここで選択したオプションは以下のとおりです.

  • BUILD_EXAMPLES = ON :すべてのサンプルコードをビルドする
  • ENABLE_OPENMP = ON :OpenMP を利用する
  • OPENCV_WHOLE_PROGRAM_OPTIMIZATION = ON :最適化オプション(/GL, /LTCG)をつけてコンパイルする

もちろん,OpenMP の利用できない環境では,ENABLE_OPENMP オプションを選択してはいけません.適切なオプションを選択した後に,”Configure” → “Generate” を行い,ソリューションファイルを作成します.初回 configure 時に,対象コンパイル環境を聞いてきますので,適切なものを選択してください(例えば,Visual Studio Express Edition 2008 ならば 「Visual Studio 9 2008」,Visual Studio 2005 ならば「Visual Studio 8 2005」 など).

“D:\OpenCV2.0\build\OpenCV.sln” が作成されますので,Visual Studio を起動してビルドを行います.「ビルド」→「バッチビルド」で,すべてを選択してバッチビルドを行うと手軽でしょう.

5. PATH を設定します.

最後に,「マイコンピュータ」の「プロパティ」から,作成したライブラリへのパスを環境変数 PATH に追加します.今回の場合は,”D:\OpenCV2.0\build\bin\Release” と “D:\OpenCV2.0\build\bin\Debug” を追加します.

-

■SVN版をインストール

1. OpenCVのオフィシャルリポジトリから,最新のソースコードをチェックアウトします.

SVN クライアントを導入していない場合は,TortoiseSVN を下記サイトからダウンロード,インストールします.また,language Pack も同時にインストールすると,インタフェースを日本語化することも可能です.

配布場所:http://tortoisesvn.net/downloads

TortoiseSVN を導入後,右クリックのメニューより 「SVN チェックアウト」を選択し,リポジトリのURLとローカルのチェックアウト先のディレクトリを(例えば以下のように)指定します.リポジトリのURLは, “https://code.ros.org/svn/opencv/trunk” です.また,チェックアウトディレクトリが存在しない場合には,自動的に作成されます.

チェックアウトディレクトリの直下に “opencv” というフォルダが作成されますので,ここを安定版の場合の “D:\OpenCV2.0″ と読み替えれば,後の作業は,2.から5.まで同じです.

[参考リンク]

コメントをどうぞ