2013年6月12日水曜日
VisualStudio2012でOpenCV2.4.5を動かす
■ダウンロード
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/
(1) 2.4.5をクリック
(2) OpenCV-2.4.5.exeをクリックするとダウンロードが始まる(266MB)
(3)ダウンロード中にC:に「OpenCV2.4.5」フォルダを作成
■インストール
(1)OpenCV-2.4.5.exeをクリックし起動
(2)「...」を選択し、C:\OpenCV2.4.5フォルダを選択
(3)Extractをクリック
(4)C:\OpenCV2.4.5\opencvへインストールされる
■環境変数設定
(1)スタート→コンピュータ(右クリック)→プロパティ→設定の変更→詳細設定→環境変数
PATHへ
C:\OpenCV2.4.5\opencv\build\x86\vc11
C:\OpenCV2.4.5\opencv\build\x86\vc11\bin
の二つを追加(VC11 = VisualStudio2012)
■コンパイルテスト
(1)Visual Studio2012を起動し、Win32プロジェクトで新規作成
(2)stdafx.hに以下のコードを追加
#include <opencv2/opencv.hpp>
#include "OpenCVheader.h"
(3)プロジェクトのプロパティ→構成プロパティ→VC++ディレクトリ→インクルードディレクトリ
(4)C:\OpenCV2.4.5\opencv\build\includeを追加
(5)プロジェクトのプロパティ→構成プロパティ→VC++ディレクトリ→ライブラリディレクトリ
(6)C:\development\OpenCV2.4.2\opencv\build\x86\vc11\lib
(7)構成プロパティ→全般→共通言語ランタイムサポートを(/clr)へ変更
(ここを忘れるとアンマネージ関数をコンパイル出来ませんと怒られる)
(8)ヘッダーファイル上で右クリックし、ヘッダーファイル(OpenCVheader.h)を新規作成。
(9)OpenCVheader.hへ以下のコードを挿入
// バージョン取得
#define CV_VERSION_STR CVAUX_STR(CV_MAJOR_VERSION) CVAUX_STR(CV_MINOR_VERSION) CVAUX_STR(CV_SUBMINOR_VERSION)
// ビルドモード
#ifdef _DEBUG
#define CV_EXT_STR "d.lib"
#else
#define CV_EXT_STR ".lib"
#endif
// ライブラリのリンク(不要な物はコメントアウト)
#pragma comment(lib, "opencv_core" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_highgui" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_imgproc" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_calib3d" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_gpu" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_video" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_objdetect" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_features2d" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_flann" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_ffmpeg" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_ts" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_contrib" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_ml" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib, "opencv_legacy" CV_VERSION_STR CV_EXT_STR)
(10)ビルドでOK
ここまでしてアレなんですが、正直VisualStudio2010で組んだ方が楽だと思われます。
VC++2012にはフォームデザイナーが存在しない為、レイアウトの作成が非常に手間ですので。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿