OpenCVの設置及びvsプロジェクトの配置
一、ダウンロードと抽出
http://opencv.org/downloads.html
公式サイトでは、各バージョンのOpenCVをダウンロードできます.
下の図のopencv-2.10.exeファイルはダウンロード完了後のファイルで、フォルダのopencvは抽出完了後に形成されたフォルダです.
ダウンロード済みの.exeファイルをダブルクリックして抽出します.
Extractボタンをクリックすると、ダイアログが表示されます.この時は、プログレスバーが終わるまで待てばいいです.
注意したいのは、Opencv抽出中にエラーが発生する可能性があります.
これは.exeファイルのダウンロードが不完全になりました.再ダウンロードすれば問題が解決できます.
二、設定
1、ステップが完了すると、システム環境変数を上位システム設定に配置する必要があります.
新しいシステム変数->をPathに追加します.
a、新規作成が必要な環境変数は2つあります. (1)変数名:OPECV_64 変数値:D:\Prograamming\OpenCV\opencv\build\x 64\vc 12\bin (2)変数名:OPECV_32 変数値:D:\Prograamming\OpenCV\opencv\build\x 86\vc 12\bin (32ビットのシステムであれば、OPECVCVU 32という一つしかセットできません.64ビットのコンピュータはOPECVCVU 32だけではx 64でコンパイルできません.)
ここで留意すべきことは、vcバージョンはvsのバージョンに対応しており、本機を例にとって、vs 2013対応vc 12を使用していることである.
この二つのパスのソースは./opencv/build/ディレクトリの下のx 64とx 86フォルダです.両方のフォルダの下にvc 12\binというディレクトリがあります.この二つは32ビットと64ビットのコンパイルをそれぞれ行うために使用されます.64はシステムとして最適な配置です.
b、新規作成が完了したら、Pathに追加する:
;%OPECV_32%;OPECV_64%
注意:最初のセミコロンは必ずあります.これは各ディレクトリを分離するためのものです.
2、OpenCVプロジェクトにディレクトリ/ライブラリディレクトリを追加する
項目の右ボタン->属性->設定属性->VC++目次->目次/ライブラリディレクトリを含む
ディレクトリを含める:
D:\Prograamming\OpenCV\opencv\build\include
D:\Prograamming\OpenCV\opencv\build\include\opencv
D:\Prograamming\OpenCV\opencv\build\include\opencv 2
ライブラリディレクトリ:
D:\Prograamming\OpenCV\opencv\build\x 86\vc 12\lib
注意:ライブラリディレクトリのx 64とx 86はプロジェクトのコンパイルオプションと一致しなければなりません.32ビットの下でコンパイルするならx 86を選択します.そうでなければx 64を選択します.
3、プロジェクトにスタティックライブラリを追加する
項目の右ボタン->属性->設定属性->リンク器->入力->追加依存項
三、試験手順
これは、指定されたパスをロードして表示するためのウィンドウを作成するためのプログラムです.
http://opencv.org/downloads.html
公式サイトでは、各バージョンのOpenCVをダウンロードできます.
下の図のopencv-2.10.exeファイルはダウンロード完了後のファイルで、フォルダのopencvは抽出完了後に形成されたフォルダです.
ダウンロード済みの.exeファイルをダブルクリックして抽出します.
Extractボタンをクリックすると、ダイアログが表示されます.この時は、プログレスバーが終わるまで待てばいいです.
注意したいのは、Opencv抽出中にエラーが発生する可能性があります.
これは.exeファイルのダウンロードが不完全になりました.再ダウンロードすれば問題が解決できます.
二、設定
1、ステップが完了すると、システム環境変数を上位システム設定に配置する必要があります.
新しいシステム変数->をPathに追加します.
a、新規作成が必要な環境変数は2つあります. (1)変数名:OPECV_64 変数値:D:\Prograamming\OpenCV\opencv\build\x 64\vc 12\bin (2)変数名:OPECV_32 変数値:D:\Prograamming\OpenCV\opencv\build\x 86\vc 12\bin (32ビットのシステムであれば、OPECVCVU 32という一つしかセットできません.64ビットのコンピュータはOPECVCVU 32だけではx 64でコンパイルできません.)
ここで留意すべきことは、vcバージョンはvsのバージョンに対応しており、本機を例にとって、vs 2013対応vc 12を使用していることである.
この二つのパスのソースは./opencv/build/ディレクトリの下のx 64とx 86フォルダです.両方のフォルダの下にvc 12\binというディレクトリがあります.この二つは32ビットと64ビットのコンパイルをそれぞれ行うために使用されます.64はシステムとして最適な配置です.
b、新規作成が完了したら、Pathに追加する:
;%OPECV_32%;OPECV_64%
注意:最初のセミコロンは必ずあります.これは各ディレクトリを分離するためのものです.
2、OpenCVプロジェクトにディレクトリ/ライブラリディレクトリを追加する
項目の右ボタン->属性->設定属性->VC++目次->目次/ライブラリディレクトリを含む
ディレクトリを含める:
D:\Prograamming\OpenCV\opencv\build\include
D:\Prograamming\OpenCV\opencv\build\include\opencv
D:\Prograamming\OpenCV\opencv\build\include\opencv 2
ライブラリディレクトリ:
D:\Prograamming\OpenCV\opencv\build\x 86\vc 12\lib
注意:ライブラリディレクトリのx 64とx 86はプロジェクトのコンパイルオプションと一致しなければなりません.32ビットの下でコンパイルするならx 86を選択します.そうでなければx 64を選択します.
3、プロジェクトにスタティックライブラリを追加する
項目の右ボタン->属性->設定属性->リンク器->入力->追加依存項
opencv_ml2410d.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_nonfree2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_videostab2410d.lib
注意:追加する時、バージョンが一致しているかどうか(つまり、コンピュータにインストールされているopenCVのlibファイル名は上記と同じかどうか、libファイルの位置は前のステップのライブラリディレクトリの下にある)を識別します.また、プログラムのエラーでXXXが見つからない場合、このステップに戻って、xxxを含むlibファイルが含まれているかどうか、またはファイル名が正しいかどうかを確認してもいいです.三、試験手順
これは、指定されたパスをロードして表示するためのウィンドウを作成するためのプログラムです.
//
#include <opencv2/opencv.hpp>
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
int main()
{
const char *pstrImageName = "G:\\ \\IMG_2047.JPG";
const char *pstrWindowsTitle = "OpenCV ";
//
IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
//
cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
//
cvShowImage(pstrWindowsTitle, pImage);
//
cvWaitKey();
cvDestroyWindow(pstrWindowsTitle);
cvReleaseImage(&pImage);
return 0;
}
64ビットのコンピュータは、それぞれ63と32ビットのコンパイル条件でテストを行います.