在vs2010下配置opencv是件痛苦的事情,一點點錯誤可能就會導致莫名其妙的報錯,各種error讓人郁悶不已,這里提供給大家一篇vs2010下配置opencv2.4.4的方法,我是64位的win7系統,親測成功,當然也遇到了一堆的問題,不過在查完各種資料之后都完美解決了,現在奉獻給大家。本文的最后附給大家在配置的時候遇到的一些常見問題的解決方法,不保證可以完全解決您遇到的問題,不過大部分都附在下面了。好了,言歸正傳,我們開始配置吧。
一.下載OPENCV2.4.4最新版
這個不用多說,網上一搜一大堆,我們這里要配置的是opencv2.4.4,請認准下載。為了方便,下面這個網址就可以,
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.4/OpenCV-2.4.4.exe/download
然后解壓縮,放到你選擇的一個目錄下
二.VS2010下載
可以去 微軟官網下載,然后安裝 就不多說了
三.win8環境下,配置環境變量
1 ,添加環境變量
右擊計算機,->屬性->高級系統設置->環境變量
添加path路徑:
在系統變量中,點擊path,選擇編輯,添加path路徑如下(其中32位的如下配置,64位的將路徑里面的x86改成x64即可。)
新建OPENCV
四,,opencv 在VS2010中的配置步驟
新建一個新win32控制台項目--這就不多說了
include 配置
打開工程:-視圖->屬性頁->VC++目錄->包含目錄中添加include
lib配置
庫目錄 “屬性”->“配置屬性”->“VC++目錄”->“庫目錄” (同上,32位的系統如下配置,64位的系統,改成.........dc10in。)
五,添加附加依賴項
視圖->屬性頁->鏈接器->輸入->附加依賴項
release 添加附加依賴項
opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_objdetect244d.lib
opencv_ts244d.lib
opencv_video244d.lib
六,測試配置結果展示
測試代碼:
//#include "stdafx.h"
#include
#include
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
const char* imagename = "C://Users//oracle//Documents//visual studio 2010//Projects//Test_openvb//test_opencv//lena.jpg";
//從文件中讀入圖像
Mat img = imread(imagename);
//如果讀入圖像失敗
if(img.empty())
{
fprintf(stderr, "Can not load image %s ", imagename);
getchar();
return -1;
}
//顯示圖像
imshow("image", img);
//此函數等待按鍵,按鍵盤任意鍵就返回
waitKey();
return 0;
}
七,遇到的問題
1)如果開始調試的時候出現無法解析或者找不到"stdafx.h" ,那么不用管,將#include "stdafx.h" 注釋掉即可。
2)如果你是64位的系統,那么可能會遇到報錯顯示x64平台系統與目標平台不匹配之類的,那么不用擔心,右擊你的項目,選擇屬性,在屬性頁的右上角有一個配置管理器,將解決方案平台改成x64即可。
3)如果顯示無法解析_TCHAR,那么在預處理那邊加入#include即可。
4)如果出現這樣的問題:
d:opencv2.4.4includeopencv2opencv.hpp(46): fatal error C1083: 無法打開包括文件:“opencv2/core/core_c.h”: No such file or directory
這個主要是包含目錄下的include配置出錯了,改成
D:opencv2.4.4uildincludeopencv2
D:opencv2.4.4uildincludeopencv
D:opencv2.4.4uildinclude
就可以了,呵呵
5)圖片文件目錄問題
可以使用絕對路徑,如上面代碼中 的那樣,記住和win下面的路徑寫法不一樣,比如要寫成這樣的形式D://input//lena.jpg。
還以可以使用相對路徑,但是你的圖片必須要放在當前工作目錄下,這個就不多說了。
好了,按照上面所說的做,無論是64位還是32位的系統,在vs2010下跑opencv2.4.4就妥妥了的,歡迎大家繼續研究哈。