opencv在vs2013的環境配置

最近配置opencv,前前後後也搞了兩三次,每次都會遇到問題,記錄下來,和大家分享一下,原來的過程也是網上找的,自己又重新整理了一下。

版本信息

opencv2.4.9 :下載地址官網地址
vs2013中文旗艦版 :下載地址隨便找的地址
windows64位

第一步:配置widows環境

計算機->屬性->高級系統設置->高級->環境變量->系統變量
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述
在系統變量中找到變量Path->編輯(在最後邊添加路徑,每個路徑以分號;相隔)
路徑爲opencv解壓後所在的路徑,假設解壓在E:\Program Files\opencv
將路徑:
E:\Program Files\opencv\build\x86\vc12\bin
E:\Program Files\opencv\build\x64\vc12\bin
如果windows爲32位的,只用添加x86對應的。
這裏所謂vc12對應vs2013,如果你是vs其他版本,對應 關係如下:
vc10 = vs2010
vc11 = vs2012
vc12 = vs2013
根據你的vs版本來選擇路徑信息。

第二步:設置VS的包含目錄和庫目錄

打開vs2013,新建控制檯項目,以c++爲例
這裏寫圖片描述
這裏寫圖片描述
選擇空項目,然後完成

在解決方案資源管理器中-源文件-右鍵-添加-新建項
這裏寫圖片描述

選中項目,在視圖-屬性管理器,在vs2013中沒有直接顯示,找到其他窗口
這裏寫圖片描述

這裏寫圖片描述
在屬性管理器中,選中Microsoft.cpp.win32.user-右鍵-屬性
這裏寫圖片描述

通用屬性中選擇-vc++目錄-包含目錄
然後編輯添加三個目錄
E:\Program Files\opencv\build\include
E:\Program Files\opencv\build\include\opencv
E:\Program Files\opencv\build\include\opencv2

在庫目錄中添加:
E:\Program Files\opencv\build\x86\vc12\lib
問題又來了,如果是64位系統添加x64還是x86呢?
這要開你使用的是win32的編譯器,還是win64的編譯器,和操作系統位數無關,一般用的是都是win32

第三步 鏈接庫目錄

這裏寫圖片描述

鏈接器-輸入-附加依賴項,添加下列庫名,這些庫都在bin文件夾中。
opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib

opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib

如果是opencv3.0,只需要添加 (沒試過,網上是這樣說的,應該差不多)
opencv_ts300d.lib
opencv_world300d.lib 這兩個庫即可。
而想用release版本的庫,添加
opencv_ts300.lib
opencv_world300.lib即可。

第四步 windows文件夾下添加opencv鏈接庫

將第三步中那個庫文件,
E:\Program Files\opencv\build\x86\vc12\bin文件夾下,全選然後複製到C:\Windows\System32文件夾下。

基本上配置就結束了,可以在剛纔建的c++文件中添加代碼來測試

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;
int main()
{
    Mat img = imread("D:\\project\\test1\\Stonehenge.jpg");//注意是絕對路徑
    namedWindow("youxi");
    imshow("youxi", img);
    waitKey(6000);

}

正常顯示就說明大功告成
在編譯時候我遇到的問題:

1.丟失MSVCP110D.dll

我之前安裝過vs2012,也配置過opencv,然後把vs2012卸載後,重裝了vs2013,重新配置後編譯時報錯,找了很久,終於發現原來是vs2012在第一步中配置的環境變量的影響,如果你安裝新的版本的vs,需要先把原來添加的環境變量刪除,然後重啓下電腦,就OK了。

2,Unhandled exception at 0x75B2C41F in test2.exe: Microsoft C++ exception: cv::Exception at memory location 0x003CF5A0.

就是什麼內存問題吧,這個問題也挺蛋疼的,就是在載入圖像的時候出問題了,原來是imread的鍋,它讀取圖像的路徑不支持’\’ ,需要用‘\’,所以上面代碼做了註釋,這個原來的代碼用的就是’\’,然後就編譯錯誤。

如果你還有其他問題,可以去我原來參考的文章裏找找答案,其他問題我倒是沒遇到

有其他問題可以再參考

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