一、設置環境變量
首先新建一個系統變量OpenCV,如果選擇使用官網下載的庫,路徑爲C:\OpenCV2.4.8\opencv\build\x64\vc12 ,自己編譯的庫,路徑爲:C:\OpenCVLatest\build\vs2013x64\install\x64\vc12。
執行下列命令添加OpenCV系統變量(需要管理員權限):
1
|
SETX OpenCV C:\OpenCV2.4.8\opencv\build\x64\vc12
/M |
然後,編輯系統變量Path,在最後加上:
1
|
%OpenCV%\bin; |
爲什麼不直接在Path的最後加上C:\OpenCV2.4.8\opencv\build\x64\vc12\bin; 還要新建一個OpenCV變量呢,不是多此一舉嗎?直接添加是可以的,但是添加變量的好處就是如果庫的位置發生了變化,只需要修改OpenCV這一個變量的值,其他引用它的地方都不用改。
二、配置VS2013
- 新建vc++ win32的控制檯應用程序,命名爲HelloOpenCV;
- 在“配置管理器”(生成–>配置管理器)裏新建解決方案平臺,選擇x64;
- 打開“屬性管理器”(視圖–>其他窗口–>屬性管理器),會看到步驟2新建的x64的Debug和Release配置;
- 在Debug|x64上“右擊”,選擇“添加新項目屬性表”,命名爲“OpenCV248_X64_Debug”,同樣Release|x64的命名爲“OpenCV248_X64_Release”;
- 在“OpenCV248_X64_Debug”上右擊選擇“屬性”,在彈出的屬性頁中,左側選擇“通用屬性->VC++目錄”,在右側編輯“包含目錄”和“庫目錄”分別爲$(OpenCV)\..\..\include和$(OpenCV)\lib
- 接下來在左側選擇“鏈接器->輸入”,在右側編輯“附加依賴項”,添加以下值:
12345678910111213141516171819
opencv_calib3d248d.lib;
opencv_contrib248d.lib;
opencv_core248d.lib;
opencv_features2d248d.lib;
opencv_flann248d.lib;
opencv_gpu248d.lib;
opencv_highgui248d.lib;
opencv_imgproc248d.lib;
opencv_legacy248d.lib;
opencv_ml248d.lib;
opencv_nonfree248d.lib;
opencv_objdetect248d.lib;
opencv_ocl248d.lib;
opencv_photo248d.lib;
opencv_stitching248d.lib;
opencv_superres248d.lib;
opencv_ts248d.lib;
opencv_video248d.lib;
opencv_videostab248d.lib;
- 重複步驟5和6,配置OpenCV248_X64_Release。兩者的不同在於Debug的附加依賴性都是結尾帶有d.lib的庫,d表示Debug,Release的則不帶,庫的名字可以在$(OpenCV)\lib文件夾中找到。另外,248表示OpenCV的版本號,如果使用的是其他版本的OpenCV,這裏要記得修改248爲相應的版本號;
12345678910111213141516171819
opencv_calib3d248.lib;
opencv_contrib248.lib;
opencv_core248.lib;
opencv_features2d248.lib;
opencv_flann248.lib;
opencv_gpu248.lib;
opencv_highgui248.lib;
opencv_imgproc248.lib;
opencv_legacy248.lib;
opencv_ml248.lib;
opencv_nonfree248.lib;
opencv_objdetect248.lib;
opencv_ocl248.lib;
opencv_photo248.lib;
opencv_stitching248.lib;
opencv_superres248.lib;
opencv_ts248.lib;
opencv_video248.lib;
opencv_videostab248.lib;
- 配置完成,在HelloOpenCV項目文件夾中,可以看到剛剛添加的“屬性表”,以後在新項目中,只需要打開“屬性管理器”,右擊添加現有屬性表就可以了。
三、簡單的Demo
下面寫個簡單的Demo,看看配置是否可用。
#include <opencv2/opencv.hpp>
#include <iostream> using namespace std; using namespace cv;
int main(int argc, char **argv)
{
Mat img = imread("twoboy.jpg");
if (img.empty())
{
cout << "打開圖像失敗!" << endl;
return -1;
}
namedWindow("image", CV_WINDOW_AUTOSIZE);
imshow("image", img);
waitKey();
return 0;
}
運行結果:
注意事項
本篇博文中的第一部分是設置系統環境變量,其中添加了一個OpenCV的變量,這個變量在後面的屬性表配置中用到了,引用方式是$(OpenCV),如果按照上面添加了如:目錄$(OpenCV)\..\..\include,在寫程序的時候提示找不到opencv.hpp文件,那麼不妨重啓一下你的VS2013吧!