VisualStudio2012 Professional にOpenCV2.4.8を構築

はじめに

visualstudio2012 professionalに今日時点(2014/4/15)での最新版のOpenCV2.4.8を構築してみます。

環境はwindows7 professional、visualstudio 2012 porofessional です。

これはあくまでメモです。

openCV2.4.8のダウンロード

2014/2/5にopenCV2.4.8公開されました。

http://sourceforge.net/projects/opencvlibrary/

ファイル名、openCV-2.4.8.exeをダウンロードします。

 インストール

ダウンロードしたopenCV-2.4.8.exeを実行

インストールデレクトリはc:\とします。opencv配下に2つのディレクトリが作成されます。

・build

・sources

 環境変数の設定

システム環境変数のpathに追加します。

C:\opencv\build\x86\vc12\bin

 visualstudio2012の環境設定

visualstudio2012を起動します。

空のプロジェクトを作成します。名前は何でもいいです。

表示->プロパティマネージャ->Microsoft.cpp.win32.userをダブルクリックしてプロパティページを表示して下記を追加します。

・インクルードディレクトリ:c:\opencv\build\include

・ライブラリディレクトリ:c:\opencv\build\x86\vc12\lib

設定を保存します。このプロジェクトは削除してもかまいません。このあと作成するプロジェクトに有効となります。

サンプルプロジェクトの作成

1.新規プロジェクトの作成

ファイル->新しいプロジェクト->VisualC++->空のプロジェクト

プロジェクト名は自由ですがtest2としておきます。

ソリューションプロジェクトを作成するチェックボックスを外す。(作らない設定)

 2.プロジェクトにサンプルファイル二個をtest2配下にコピーしてからソリューションに追加する。

サンプルファイルは下記にあります。

c:\opencv\sources\samples\cpp\images.cpp

c:\opencv\sources\samples\cpp\lena.jpg

 3.pragmaを使ったライブラリへのリンクファイルの作成

ファイル名はopencv_lib.hppとしてc:\opencv\build\include\opencv2配下に保存します。内容は下記のとおり。

#if _DEBUG

#pragma comment(lib, “opencv_calib3d248d.lib”)

#pragma comment(lib, “opencv_contrib248d.lib”)

#pragma comment(lib, “opencv_core248d.lib”)

#pragma comment(lib, “opencv_features2d248d.lib”)

#pragma comment(lib, “opencv_flann248d.lib”)

#pragma comment(lib, “opencv_gpu248d.lib”)

//#pragma comment(lib, “opencv_haartraining_engined.lib”)

#pragma comment(lib, “opencv_highgui248d.lib”)

#pragma comment(lib, “opencv_imgproc248d.lib”)

#pragma comment(lib, “opencv_legacy248d.lib”)

#pragma comment(lib, “opencv_ml248d.lib”)

#pragma comment(lib, “opencv_nonfree248d.lib”)

#pragma comment(lib, “opencv_objdetect248d.lib”)

#pragma comment(lib, “opencv_photo248d.lib”)

#pragma comment(lib, “opencv_stitching248d.lib”)

#pragma comment(lib, “opencv_ts248d.lib”)

#pragma comment(lib, “opencv_video248d.lib”)

#pragma comment(lib, “opencv_videostab248d.lib”)

#else

#pragma comment(lib, “opencv_calib3d248.lib”)

#pragma comment(lib, “opencv_contrib248.lib”)

#pragma comment(lib, “opencv_core248.lib”)

#pragma comment(lib, “opencv_features2d248.lib”)

#pragma comment(lib, “opencv_flann248.lib”)

#pragma comment(lib, “opencv_gpu248.lib”)

//#pragma comment(lib, “opencv_haartraining_engine.lib”)

#pragma comment(lib, “opencv_highgui248.lib”)

#pragma comment(lib, “opencv_imgproc248.lib”)

#pragma comment(lib, “opencv_legacy248.lib”)

#pragma comment(lib, “opencv_ml248.lib”)

#pragma comment(lib, “opencv_nonfree248.lib”)

#pragma comment(lib, “opencv_objdetect248.lib”)

#pragma comment(lib, “opencv_photo248.lib”)

#pragma comment(lib, “opencv_stitching248.lib”)

#pragma comment(lib, “opencv_ts248.lib”)

#pragma comment(lib, “opencv_video248.lib”)

#pragma comment(lib, “opencv_videostab248.lib”)

#endif

 4.images.cppにインクルードファイル行を追加

//インクルードファイルの指定

#include <opencv2/opencv.hpp>

//静的リンクライブラリの追加

#include <opencv2/opencv_lib.hpp>

 5.ビルド及び実行

実行するとdllがないと言われます。MSVCR120D.dll

ネットからダウンロードしてsystem32配下に置きます。

もう一度実行すると下記のように表示されます。

result

カテゴリー: C++ パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>