OpenCV2.1のインストール(x64,VS2010)

(2010/10/15 Windows7 Ultimate (x64), Visual Studio 2010 Professional)
OpenCV2.1をソースからインストールしたので,そのメモ.

OpenCV2.1のインストール

https://opencv.willowgarage.com/wiki/InstallGuideにインストールの詳細があります.OpenCVをVS2008かVC++2008以外で使う場合や,64ビット版を使う場合はソースからビルドしないといけないようです.

  • OpenCVのビルドにcmakeが必要なので,cmake-2.8.2-win32-x86.exeをダウンロードしてインストールしておきます.
  • OpenCV-2.1.0-win.zipをダウンロード,解凍後,C:\OpenCV21として移動します.
  • ついでに,Intel TBB(Intel® Threading Building Blocks)を導入しておくため,https://www.threadingbuildingblocks.org/ver.php?fid=151にて,WIN用安定版の3.0をダウンロードし,解凍します(今回使ったのは,tbb30_20100406oss_win).
  • 解凍後のTBBのフォルダから,bin, tbb, libをそれぞれ,C:\OpenCV21\bin, C:\OpenCV21\include\tbb, C:\OpenCV21\libに移動しておきます.(参考サイト: https://imagingsolution.blog107.fc2.com/blog-entry-207.html
  • CMake (cmake-gui) を起動し, Where is the source code の欄に C:/OpenCV21, Where to build the binaries の欄に C:/OpenCV21/build を入力(Explorerで指定できる)し,configure をクリックします.
  • コンパイラは Visual Studio 10 Win64 を選択します.
  • ビルドオプションで,デフォルトでチェックが入っているものに加えて, BUILD_EXAMPLES と WITH_TBB をチェックします.
  • Configure を押すと, TBB の include ディレクトリと lib ディレクトリが見つからないと怒られる(該当行が赤くなる)ので,それぞれを指定して(C:/OpenCV21/include/tbb, C:/OpenCV21/lib/intel64/vc10) あげます.怒られなくなったら Generate を押す.これで CMake は終了です.
  • C:\OpenCV21\build の中に, OpenCV.sln ができるので, Visual Studio 2010 Professional で開きます. [ビルド] → [バッチ ビルド] を選択し, ALL_BUILD (Debug/Release) , INSTALL (Debug/Release) を選択して [ビルド] をクリックします.
  • コントロール パネル > システムとセキュリティ > システムと進み,左のペインからシステムの詳細設定を選択.詳細設定タブ > 環境変数で,システム環境変数の Path に,次の環境変数を追加します.これで事前準備は完了です.
C:\OpenCV21\build\bin\Debug;
C:\OpenCV21\build\bin\Release;
C:\OpenCV21\bin\intel64\vc10

Visual Studio 2010のプロジェクトの設定

新たにプロジェクトを作成するときには,プロパティで下記の設定を行って必要なライブラリ等に到達できるようにします.

  • [構成プロパティ]→[C/C++]→[全般]→[追加のインクルードディレクトリ]に下記を記入.
C:\OpenCV21\build\include\opencv
  • [構成プロパティ]→[リンカー]→[全般]→[追加のライブラリディレクトリ]に下記を記入.
  • (Debug構成の時)
    C:\OpenCV21\build\lib\Debug
    (Release構成の時)
    C:\OpenCV21\build\lib\Release
  • [構成プロパティ]→[リンカー]→[入力]→[追加の依存ファイル]に,下記を追加.
  • (Debug構成の時)
    cv210d.lib;cvaux210d.lib;cxcore210d.lib;
    cxts210d.lib;highgui210d.lib;ml210d.lib
    (Release構成の時)
    cv210.lib;cvaux210.lib;cxcore210d.lib;
    cxts210d.lib;highgui210d.lib;ml210d.lib