OpenCV3 を使ってみる。今回はVisual Studio 2013 で OpenCV3 の環境を作る。

OpenCVは以下からダウンロードする。
http://opencv.org/downloads.html

最新は「VERSION 3.0」なので、これの「OpenCV for Windows」をクリックし、opencv-3.0.0.exeをダウンロードする。

これは圧縮ファイルとなっているので、解凍したら、includeとx86を適当なフォルダに配置する。
今回は32bitアプリケーションを作成する予定のためx86を使った。64bitアプリケーションを作る場合はx64を使う必要がある。

次にVisual Studio 2013でC++のプロジェクトを作成する。
プロジェクトは、「Visual C++」の「Win32 コンソールアプリケーション」で、「空のプロジェクト」として作成する。

作成したプロジェクトのプロパティを開き、以下の設定を行う。
1. 構成プロパティ - C/C++ - 全般 - 追加のインクルードディレクトリに、上で解凍したincludeフォルダを指定する。
2. 構成プロパティ - リンカー - 全般 - 追加のライブラリディレクトリに、上で解凍したx86フォルダ内のvc12/staticlibフォルダを指定する。これは静的リンクをする設定なので、動的リンクをする場合はvc12/libを指定すること。
3. 構成プロパティ - C/C++ - コード生成 - ランタイムライブラリの設定を変更する。設定は Debug / Release で違う。Debug は「マルチスレッド デバッグ (/MTd)」を設定、Release では「マルチスレッド (/MT)」を設定する。
以上で設定は完了。

プロジェクトに以下の内容で main.cpp を追加する。

#include <opencv2/opencv.hpp>

#ifdef _DEBUG        
#pragma comment(lib,"opencv_core300d.lib")
#pragma comment(lib,"opencv_imgproc300d.lib")
#pragma comment(lib,"opencv_highgui300d.lib")
#pragma comment(lib,"opencv_hal300d.lib")
#pragma comment(lib,"opencv_imgcodecs300d.lib")
#pragma comment(lib,"ippicvmt.lib")
#pragma comment(lib,"IlmImfd.lib")
#pragma comment(lib,"libjasperd.lib")
#pragma comment(lib,"libjpegd.lib")
#pragma comment(lib,"libpngd.lib")
#pragma comment(lib,"libtiffd.lib")
#pragma comment(lib,"libwebpd.lib")
#pragma comment(lib,"zlibd.lib")
#else    
#pragma comment(lib,"opencv_core300.lib")
#pragma comment(lib,"opencv_imgproc300.lib")
#pragma comment(lib,"opencv_highgui300.lib")
#pragma comment(lib,"opencv_hal300.lib")
#pragma comment(lib,"opencv_imgcodecs300.lib")
#pragma comment(lib,"ippicvmt.lib")
#pragma comment(lib,"IlmImf.lib")
#pragma comment(lib,"libjasper.lib")
#pragma comment(lib,"libjpeg.lib")
#pragma comment(lib,"libpng.lib")
#pragma comment(lib,"libtiff.lib")
#pragma comment(lib,"libwebp.lib")
#pragma comment(lib,"zlib.lib")  
#endif

int main(int argc, char* argv[])
{
	cv::Mat img(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 0));
	cv::circle(img, cv::Point(80, 80), 60, cv::Scalar(0, 255, 0), 1);
	imshow("opencvtest", img);
	cv::waitKey(0);
	cv::destroyAllWindows();
	return 0;
}

実行すると、次のようなダイアログが表示されれば成功。
opencv8

以上です。