OpenCV 2.1 のセットアップメモとプロジェクトサンプル

Windows XP でなんとかできた.

OpenCV 2.1 をセットアップする

準備物

ひょっとしたら Windows SDK が必要かもしれないが,確認していない.

手順
  1. VC++ 2010 Express をインストールする
  2. OpenCV を c:\software\develop\src\opencv あたりに展開する
  3. TBB を c:\software\develop\src あたりに展開する
  4. CMake をインストールする
  5. cmake-gui を使用する
    1. source: C:/Software/Develop/src/OpenCV-2.1.0
    2. build: C:/Software/Develop/src/OpenCV-2.1.0/cmake で Configure
    3. generator for: Visual Studio 2010
    4. Search: tbb で絞り込み,WITH_TBB にチェックして Configure
    5. TBB_INCLUDE_DIR: C:\Software\Develop\src\tbb30_20100915oss\include で Configure
    6. TBB_LIB_DIR: C:/Software/Develop/src/tbb30_20100915oss/lib/ia32/vc10 で Configure
    7. Search 空欄にして見渡し,赤い部分はないはずだから Generate
  6. C:\Software\Develop\src\OpenCV-2.1.0\cmake\OpenCV.sln を開く
    • ソリューションを右クリックしてバッチビルド
      • ALL_BUILD 2種と INSALL 2種,計4つチェックしてビルド
  7. C:\Software\Develop\src\OpenCV-2.1.0\cmake 以下の bin include lib を C:\Software\Develop\opencvlibrary\OpenCV2.1 にコピー
  8. 環境変数 PATH に追記
    • C:\Software\Develop\src\tbb30_20100915oss\lib\ia32\vc10
    • C:\Software\Develop\opencvlibrary\OpenCV2.1\bin\Debug
    • C:\Software\Develop\opencvlibrary\OpenCV2.1\bin\Release

プロジェクトサンプル

画像を読込,保存,表示するプログラムを例示する.

手順
  1. Win32 コンソールアプリケーション から「空のプロジェクト」を作る
  2. プロジェクトプロパティ「すべての構成」で設定する
    • C/C++: 全般: 追加のインクルードディレクトリ: C:\Software\Develop\opencvlibrary\OpenCV2.1\include
    • リンカー: 全般: 追加のライブラリディレクトリ: C:\Software\Develop\opencvlibrary\OpenCV2.1\lib
  3. サンプルコードを作成する
  4. 実行する
サンプルコード

main.cpp を作成した.

#ifdef _DEBUG
#pragma comment( lib, "cv210d.lib" )
#pragma comment( lib, "cxcore210d.lib" )
#pragma comment( lib, "cvaux210d.lib" )
#pragma comment( lib, "highgui210d.lib" )
#else
#pragma comment( lib, "cv210.lib" )
#pragma comment( lib, "cxcore210.lib" )
#pragma comment( lib, "cvaux210.lib" )
#pragma comment( lib, "highgui210.lib" )
#endif

#include <opencv/cv.h>
#include <opencv/highgui.h>

int main ( int argc, char *argv[] )
{
	const char *imagefile = "c:/data/image/sample/lena.png";
	const char *window = "window";
	
	// 画像読込
	cv::Mat image = cv::imread( imagefile );
	// 画像保存
	cv::imwrite( "test.png", image );
	// 画像表示
	cv::namedWindow( window );
	cv::imshow( window, image );
	cv::waitKey();

	return 0;
}
デバッグ実行の様子

後記

OpenCV リファレンスは http://opencv.jp/opencv-2.1/cpp/ が頼りになる.

追加のインクルード/ライブラリディレクトリを IDE 側で設定できなくなった.代わりにプロパティシートというものが用意されているが,ここでは触れない.便利になるから,別エントリに記述する予定.