- Intel TBB (Threading Building Blocks)のインストール
Multi coreを使うためのライブラリ?
Download/Stable versionのページから最新のバージョン(tbb30_20110315oss)を選ぶ.
http://threadingbuildingblocks.org/file.php?fid=77
該当するOSのファイル(tbb30_20110315oss_win.zip)をダウンロード
zipを解凍して適当な場所に保存.
\bin\の中に二つのディレクトリ\ia32|intel64\があり,それぞれ32bit用と64bit用.
\vcmt|vc8|vc9|vc10\と4つのディレクトリがあり,vcmtは知らないけど,vc8,9,10はそれぞれVisual Studio2005,2008,2010に対応している.
適切なディレクトリに保存されているdllやlibをVisual Studioから参照すれば機能が使えるみたい.
ファイルの参照方法
1. Visual Studioの設定による参照
TBBのディレクトリを環境変数でTBB30_INSTALL_DIRと設定すると,Visual Studioで
実行可能ファイル: $(TBB30_INSTALL_DIR)%\bin\ia32\vc10
インクルード: $(TBB30_INSTALL_DIR)%\include
ライブラリ: $(TBB30_INSTALL_DIR)%\lib\ia32\vc10
と設定し,
%TBB30_INSTALL_DIR%\bin\ia32\vc10
へのパスを通せばOK(これは,Visual Studio 2010 32bit版の例).
2. ファイルコピーによる参照
C:\Windows\System32\にdllをコピーする.
Eigenのインストール
C++用の線型演算ライブラリ
最新のバージョン(Eigen3)を選ぶ.
http://eigen.tuxfamily.org/index.php?title=Main_Page#Download
zipを解凍して適当な場所に保存.
Eigenのディレクトリを環境変数でEIGEN_DIRと設定すると,Visual Studioで
インクルード: $(EIGEN_DIR)
と設定し,
%EIGEN_DIR%
へのパスを通せばOK.
※ なぜかVisual Studioの設定で環境変数EIGEN_DIRが参照できないので,Eigenのディレクトリだけ絶対参照する.l
実際に使う時のコードは,以下のようになっており,%EIGEN_DIR%\Eigen\ディレクトリ内のというファイル?に関数の実態とかが書いてあるっぽい.
CUDAのインストール
CUDA ToolKit, GPU Computing SDK code samples, NVIDIA Performance Primitives (NPP) libraryをインストール.
http://developer.nvidia.com/object/cuda_3_2_downloads.html
・CUDA Toolkit: cudatoolkit_3.2.16_win_32.msi
・GPU Computing SDK code samples: gpucomputingsdk_3.2.16_win_32.exe
・NVIDIA Performance Primitives (NPP) library: npp_3.2.16_win_32.zip
環境変数にNPPのディレクトリNPP_ROOT_DIR=C:\Program Files\npp_3.2.16_win_32\SDKを作成し,実行ファイルが保存されているディレクトリへのパスを追加
%NPP_ROOT_DIR%\common\npp\bin
Visual Studioで以下の設定
実行可能ファイル
$(CUDA_BIN_PATH)
$(NPP_ROOT_DIR)\common\npp\bin
インクルードファイル
$(CUDA_INC_PATH)
$(NVSDKCOMPUTE_ROOT)\C\common\inc
$(NVSDKCOMPUTE_ROOT)\shared\inc
$(NPP_ROOT_DIR)\common\npp\include
ライブラリファイル
$(CUDA_LIB_PATH)
$(NVSDKCOMPUTE_ROOT)\C\common\lib
$(NVSDKCOMPUTE_ROOT)\shared\lib
$(NPP_ROOT_DIR)\common\npp\lib
OpenCVのビルド
Eigen3を使う場合,ソースコードを編集しないといけない.
\OpenCV-2.2.0\modules\features2d\src\matchers.cpp
で
#include
となっている部分を
#include
と編集する.
1. CMakeを使ってビルド用のslnファイルを作成
1.1. CMake起動
Where is the source code: zipを解凍した\OpenCV-2.2.0\ディレクトリの絶対パス
Where to build the binaries: \OpenCV-2.2.0\build\
1.2. インストールオプションの設定
Configureボタンを押す.
設定でまずい所があると真ん中のビューが赤くなる.
設定をちょいちょい変える.
ビルドしたくないものに関してはチェックをはずしたり,パス設定がうまくできていないものがあれば,手動で設定する.
1.3. slnファイルの作成
Generateボタンを押す.
Generating doneと表示されればOK.
2. Visual Studioでビルド
Build->Batch Build
ALL_BUILD, INSTALLをそれぞれDebugとReleaseで計4個選択したらBuildボタンを押す.
3. OpenCVの設定
OpenCVのディレクトリを示す環境変数OPENCV=C:\Program Files\OpenCV-2.2.0を作成し,パスを
%OPENCV%\build\bin\Debug
%OPENCV%\build\bin\Release
に通す.
作成したdllやlibが保存されているディレクトリへのリンクを貼る.
実行可能ファイル
$(OPENCV)\build\bin\Debug
$(OPENCV)\build\bin\Release
インクルードファイル
$(OPENCV)\include
$(OPENCV)\modules\calib3d\include
$(OPENCV)\modules\contrib\include
$(OPENCV)\modules\core\include
$(OPENCV)\modules\features2d\include
$(OPENCV)\modules\ffmpeg
$(OPENCV)\modules\flann\include
$(OPENCV)\modules\gpu\include
$(OPENCV)\modules\haartraining
$(OPENCV)\modules\highgui\include
$(OPENCV)\modules\imgproc\include
$(OPENCV)\modules\legacy\include
$(OPENCV)\modules\ml\include
$(OPENCV)\modules\objdetect\include
$(OPENCV)\modules\traincascade
$(OPENCV)\modules\video\include
ライブラリファイル
$(OPENCV)\build\lib\Debug
$(OPENCV)\build\lib\Release
これで終わりー.
あとは,適宜hファイルやlibファイルをロードすればいいはず.
#include
#pragma comment(lib, "opencv_core220d.lib")