【淺談OpenCV之一】 安裝Opencv--Opencv 2.4.8 + VS2010環境配置

           小弟轉行學圖像已經有一段時間了,這段時間一直在被數據結構和算法導論折磨得半生不死,(說實話,這些東西學起來還真是太枯燥了),

           回想起當初學OpenCV時候的那股興奮,想想,還是把學習過的知識總結一下,和大家共勉一下,順便複習。

           寫這篇博客的時候,OpenCV最新的版本是 2.4.8,所以就下下來,重新學習一篇。

一、首先,我們當然要知道,OpenCV是什麼?

這裏,我們簡單的瞭解一下:OpenCV是一個用於圖像處理、分析、機器視覺方面的開源函數庫. 無論你是做科學研究,還是商業應用,opencv都可以作爲你理想的工具庫,因爲,對於這兩者,它完全是免費的。


二、下載和安裝OpenCV SDK

1.下載VS2010:打開網址下載http://www.xiazaiba.com/html/4614.html,然後看評論你就懂了。

2.下載OpenCV(目前最新版本2.4.8):打開官網http://opencv.org/上找到OpenCV windows版下載下來

3.下載完之後你的系統會多了一個,雙擊“解壓”,目錄名字最好要清晰,不要簡單的opencv,因爲以後你的電腦裏面可能不止一個版本,

解壓後,你就會多了一個文件夾:

其中,build裏面是使用OpenCV相關的文件,我們如果只是使用OpenCV的話呢,就只用管build裏面的內容

sources裏面包含了一些源代碼。(暫時可以不用管它)


三、配置環境變量

在這裏要說明一下,有些朋友說這裏不用配置也行,其實是不行的,如果後面出現,
我很負責任的說,絕大部分是你的環境變量沒有設置好。
(如果您正確配置後還是出現這個錯誤,我建議您可以嘗試這樣做:
將.....opencv\build\x86\vc10\bin目錄下所有文件,拷貝到C:/Windows/system32 下

這步的配置方法如下:

計算機->(右鍵)屬性->高級系統設置-->環境變量->(雙擊)path(用戶,系統裏面的path任選其一)->在變量值裏面添加相應的路徑。

對於32位系統,就添加:(記得要加上分號)

…… opencv\build\x86\vc10\bin;

 

而對於64位系統,可以兩個都添加上:

…… opencv\build\x86\vc10\bin;

和…… opencv\build\x64\vc10\bin;

這樣,到時候就可以在編譯器Win32和X64中來回切換


例如,博主的是32位系統

D:\OpenCV 2.4.8\opencv\build\x86\vc10;


《PS:我們在此先在環境變量添加一個新的環境變量 OPENCV(不區分大小寫) 》,如圖:

有什麼用下面再說。


注:變量值實際爲bin文件夾的路徑;X64表示運行系統環境位64位系統,X86表示32位系統;vc10表示編譯環境爲Microsoft Visual Studio 2010;變量添加完成後需要註銷系統,纔會生效。




四、配置VS2010
1.很多朋友都遇到過“每次新建工程都要重新配置的麻煩”,使用屬性管理器,將“一勞永逸”
首先,創建一個新的工程,選擇“視圖”——“其他窗口”——“屬性管理器”,如下圖所示。

在彈出的配置框中配置,選擇“VC++目錄”。

(1)在“包含目錄”中的結尾處加入以下內容添加以下內容:

$(opencv)\include\opencv;

$(opencv)\include\opencv2;

$(opencv)\include;

(2)在庫目錄中的結尾處加入以下內容添加:

$(opencv)\x86\vc10\lib;

注:$(opencv)\include\opencv是告訴VC去“opencv”這個變量中的文件夾下的\include\opencv路徑中找OpenCV的庫文件目錄。

(使用$(opencv)好處是,如果opencv的位置變了,我們只需要更改環境變量)

  如下圖所示。

(3)在“鏈接器”-“輸入”-“附加依賴選項”中的結尾處加入以下內容:

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_objdetect248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_nonfree248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_videostab248d.lib

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_ml248d.lib
opencv_objdetect248.lib
opencv_ts248.lib
opencv_video248.lib
opencv_nonfree248.lib
opencv_ocl248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_superres248.lib
opencv_videostab248.lib

(有用沒有都加進去吧,反正有備無患,哈哈)

如下圖所示。


需要注意的是,所粘貼內容即爲%(opencv)\x86\vc10\lib下所有lib庫文件的名字;其中的248代表我們的OpenCV版本爲2.4.8,

若是其他版本的配置則在這裏要進行相應的更改,

d結尾的Debug庫文件,Release則沒有,如 opencv_ts248d.lib和opencv_ts248.lib

點擊確定,至此OpenCV的配置完成。


五、測試
1.選擇一張圖片放在工程目錄下(跟Debug同個目錄),並命名爲beach.jpg。
2.創建一個win32控制檯程序
3.輸出以下代碼:
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

int main()
{
	//從默認目錄讀進一個名爲beach.jpg的圖片
	cv::Mat image = cv::imread("beach.jpg");
	//顯示圖片
	cv::imshow("Image",image);
	//等待按鍵
	cv::waitKey(0);
} 
4.編譯、運行
5.如果出錯,請檢查環境變量包含目錄庫目錄還有附加依賴項是否真確配置。
6.不出錯的情況下,會在窗口名爲Image的窗口顯示一個圖片。


   
      祝大家配置成功!(有問題歡迎詢問、改正)



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