2. OpenCVを使って画像処理(ライブラリ登録編) [OpenCV]
ライブラリの登録
OpenCVにかぎらず、ライブラリ(lib)の登録方法に幾つかのやりかたあることが判明したので記録しておく
1.プロパティに登録
一つ目は前回のインストール編で紹介したように、「プロジェクトのプロパティ」ダイアログから「構成プロパティ」「リンカー」「入力」を選択し、「追加の依存ファイル」にライブラリディレクトリ”C:\OpenCV2.4.6\opencv\build\x86\vc10\lib”内のライブラリすべてを登録する方法。
2.ソースコードに記述
二つ目は、ソースコード上に記述する方法。以下のように、Debug/Release版を分けて読み込む方法。
#ifdef _DEBUG
//Debugモードの場合
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_calib3d246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_contrib246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_core246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_features2d246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_flann246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_gpu246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_haartraining_engined.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_highgui246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_imgproc246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_legacy246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_ml246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_nonfree246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_objdetect246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_ocl246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_photo246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_stitching246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_superres246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_ts246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_video246d.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_videostab246d.lib")
#else
//Releaseモードの場合
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_calib3d246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_contrib246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_core246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_features2d246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_flann246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_gpu246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_haartraining_engine.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_highgui246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_imgproc246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_legacy246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_ml246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_nonfree246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_objdetect246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_ocl246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_photo246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_stitching246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_superres246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_ts246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_video246.lib")
#pragma comment(lib,"C:\\OpenCV2.4.6\\opencv\\build\\x86\\vc10\\lib\\opencv_videostab246.lib")
#endif
3.プロジェクトに登録
三つ目はVisual Studioのプロジェクトに登録する方法。
開発環境を選ばないことから二番目のソースコードに記述する方法が一般的かと思える。
コメント 0