VS配置OpenCV

給自己做的筆記


環境:win7 64bit, vs2013, opencv2.4.7


1. 官網下載opencv : http://opencv.org/

2.解壓exe到你想要放的文件夾(可以任意設定,如直接解壓在D盤,這裏,我用XX來表示解壓的路徑。即如果解壓在D盤,XX表示 D:)

3.更改系統環境變量: 計算機---右鍵---屬性---高級系統設置---環境變量---(這裏可以改 用戶變量 也可以改 系統變量 )

3.1. 改用戶變量: 新建---變量名填 Path --- 變量值填 XX\opencv\build\x64\vc11\bin; (XX表示opencv解壓的路徑,如果在D盤,即 D:\opencv\build\x64\vc11\bin; )

3.2. 改系統變量:在變量那裏找到 Path,然後 點“編輯“,在末尾添加 XX\opencv\build\x64\vc11\bin;

4.配置VS

4.1. 新建項目,選 Win32控制檯應用程序,然後下一步。


4.2. 選 空項目 ! 然後點完成。


4.3. 配置管理器,點擊Win32,如圖,選擇配置管理器。


4.4. 在”配置管理器“裏面的”活動解決方案平臺“下選擇”新建“。 選擇新平臺,選"X64",確定。


4.5. 這時,在”屬性管理器” 裏面多了兩個“x64”的條目。 右鍵 “Debug|x64",點”添加新屬性表“,可以命名爲”opencv_247_x64_debug“。右鍵新建的屬性表,選擇”屬性“。



4.6. 在”VC++目錄“的”包含目錄“添加下面三項,記得替換XX成爲解壓opencv的目錄!

XX\opencv\build\include;

XX\opencv\build\include\opencv;

XX\opencv\build\include\opencv2;


4.7.在”庫目錄“添加

XX\opencv\build\x64\vc11\lib;


4.8. 在”鏈接器“的”輸入“的”附加依賴項“裏面添加:

opencv_calib3d247d.lib

opencv_contrib247d.lib
opencv_core247d.lib
opencv_features2d247d.lib
opencv_flann247d.lib
opencv_gpu247d.lib
opencv_highgui247d.lib
opencv_imgproc247d.lib
opencv_legacy247d.lib
opencv_ml247d.lib
opencv_nonfree247d.lib
opencv_objdetect247d.lib
opencv_photo247d.lib
opencv_stitching247d.lib
opencv_ts247d.lib
opencv_video247d.lib
opencv_videostab247d.lib
opencv_ocl247d.lib
opencv_superres247d.lib


4.9. 以同樣的辦法配置”Release|x64“。 右鍵,”新建項目屬性表“,命名爲”opencv_247_x64_release“。右鍵它,選”屬性“。

4.10. ”VC++目錄“的”包含目錄“和”庫目錄“配置和debug的一樣。

4.11. 然後,在”鏈接器“的”輸入“的”附加依賴項“裏面添加:

opencv_ocl247.lib

opencv_superres247.lib
opencv_calib3d247.lib
opencv_contrib247.lib
opencv_core247.lib
opencv_features2d247.lib
opencv_flann247.lib
opencv_gpu247.lib
opencv_highgui247.lib
opencv_imgproc247.lib
opencv_legacy247.lib
opencv_ml247.lib
opencv_nonfree247.lib
opencv_objdetect247.lib
opencv_photo247.lib
opencv_stitching247.lib
opencv_ts247.lib
opencv_video247.lib
opencv_videostab247.lib


這樣就配置成功了!

下次新建項目的時候,只需要把這兩個屬性表添加到新的目錄中就可以使用了。


下面,放一張lena.jpg到項目文件夾裏面,用下面的代碼,測試一下能不能用吧!

#include <iostream>


#include <opencv2/opencv.hpp>


using namespace std;
using namespace cv;


int main()
{
const char* imagename = "lena.jpg";


Mat img = imread(imagename);


if (img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}


imshow("image", img);


waitKey();


return 0;
}



ps:

1. 如果要配置32bit的話,就可以直接用Win32,不需要x64那步了。

2. 32bit就配置X86的。。這個不說了。。。

3. 如果配置不同版本的OpenCV,只需要改一下附加依賴項的數字,247就代表OpenCV 2.4.7版本。不過”附加依賴項“裏面具體有什麼可能各個版本有點不一樣,所以主要是找一下opencv的文件夾裏面的 XX \opencv\build\x64\vc11\lib文件夾裏面有什麼。

4. 如果出現缺少”msvcp100d.dll“、”msvcp110d.dll“等。那麼你是否是在沒有安裝更低版本的vs就直接裝了vs2013,如果是那樣的話就是缺少了vs2012的包。因爲opencv 的vc11是對應vs2012的,vc10好像是對應2010。 現在有幾個解決辦法:(1)安裝上vs2012;(2)安裝vs2012的distributed package,沒試過,不知道行不行。(3)在s2013上重新編譯opencv,沒試過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章