目標檢測程式開發(一)——OpenCV2.4.11環境配置
本文使用的環境
作業系統:windows_8.1_x64(本文對x86同樣適用)
整合開發環境:visual_studio_ultimate_2013
OpenCV版本:opencv-2.4.11
第一步,下載並安裝OpenCV
在OpenCV官網下載http://opencv.org/downloads.html ,我選擇了版本VERSION 2.4.11,選擇這個版本的windows平臺版本,單擊OpenCVfor Windows下載。
下載完成後,雙擊opencv-2.4.11.exe進行安裝,其實就是一個自解壓過程,選擇解壓到的目錄(安裝目錄),等待解壓完畢,解壓完成後第一步結束。順便說一句,opencv安裝目錄下不僅有build目錄下的編譯好的二進位制庫,還有source目錄下的官方例程,文件,資料,工具等等資源。
第二步,配置環境變數
1. 進入環境變數配置介面
按下【Windows(徽標鍵)+X 】==>單擊【系統】==>單擊左上角【高階系統設定】==>單擊右下角【環境變數】
看到如下介面
2. 在【系統變數】框內選中【變數】名為Path的一項,單擊【編輯】,在彈出的視窗中變數值中新增一項,新新增的這項要和前後的路徑用英文分號分隔,注意切換為英文輸法,這一項為“【安裝目錄】\opencv\build\x86\vc12\bin”(不包含引號)
比如我的是 ”D:\Libraries\opencv\build\x86\vc12\bin”,
x86對應32位編譯,x64對應64位編譯
vc10對應vs2010,vc11對應vs2012,vc12對應vs2013
單擊【確定】,單擊【確定】,單擊【確定】,一直單擊【確定】退出。
可以在命令列中輸入“opencv_createsamples.exe”檢驗是否配置成功,出現如下圖資訊,說明系統已經根據path變數找到了D:\Libraries\opencv\build\x86\vc12\bin目錄下的opencv_createsamples.exe程式,環境變數配置成功。
第三步,配置工程
1. 新建空白工程
① 左上角【檔案】==》【新建】==》單擊【專案】,彈出新建視窗;
②展開【模板】==》展開【Visual C++】==》找到【空白專案】==》填寫工程名==》單擊【確定】,如下圖所示
③右上角【解決資源方案管理器】==》右擊【原始檔】==》【新增】==》單擊【新建項】==》在彈出視窗中,選擇.cpp檔案,填寫名字,比如main.cpp==》【確定】
2. 配置工程目錄
①【解決資源管理器】=》單擊工程名字選中,右擊==》【屬性】==》展開配置屬性,如下圖所示
②單擊【VC++目錄】==》【包含目錄】點選【編輯】==》新增以下3項,並【確定】
在空白處雙擊,然後點選紅圈裡的按鈕,瀏覽你的目錄,找到安裝目錄\opencv\build\include,\opencv\build\include\opencv, \opencv\build\include\opencv2,選擇要包含的資料夾,共操作3次,如下2圖所示
③單擊【VC++目錄】==》【庫目錄】點選【編輯】==》新增1項,並【確定】,和上一步類似,這次新增的是”安裝目錄\opencv\build\x86\vc12\lib“資料夾
④展開【聯結器】==》【輸入】==》【附加依賴項】==》【編輯】新增連結庫就是
”安裝目錄\opencv\build\x86\vc12\lib“裡面所有庫的名字,其中“XXXd.lib“形式的名字是Debug版本的,其他的lib檔案是Realease版本的,Debug版本和Realease版本新增的時候分開,隔著一行,看著清爽,,,
額,檔案還挺多,這樣辦。。。
1.【Windows+R】==》輸入【cmd】,然後【回車】。把命令列調出來
2.輸入這一行(D:\Libraries用你的安裝目錄替換)
dir /b D:\Libraries\opencv\build\x86\vc12\lib\*2411d.lib > ./Desktop/libname.txt
回車
3.再輸入這一行
dir /bD:\Libraries\opencv\build\x86\vc12\lib\*2411.lib >> ./Desktop/libname.txt
回車
然後開啟桌面上的libname.txt檔案,檢查一下,38行,對的,複製到【附加依賴項】裡就可以了。
至此工程配置結束。
3. 寫個程式碼測試一下
開啟之前建立的main.cpp檔案,把下面的代貼上進去,執行一下;或者到安裝目錄裡面找個官方的c++例子,把程式碼粘進去,能編譯成功就可以了
#include<cv.h>
#include<highgui.h>
using namespace std;
int main()
{
IplImage* test;
test = cvLoadImage("D:\Libraries\opencv\sources\samples\cpp\baboon.jpg");//圖片路徑
cvNamedWindow("TestOpenCV",1);
cvShowImage("TestOpenCV",test);
cvWaitKey(0);
cvDestroyWindow("TestOpenCV");
cvReleaseImage(&test);
return 0;
}
失敗了,,,
好吧和這個無關,這個錯誤資訊是大概是因為沒有配置64位的庫,可以無視先,,
真正原因是路徑名寫錯了,沒加轉義’\’,加上就好了,修改之後
執行成功