小弟轉行學圖像已經有一段時間了,這段時間一直在被數據結構和算法導論折磨得半生不死,(說實話,這些東西學起來還真是太枯燥了),
回想起當初學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裏面的內容。
這步的配置方法如下:
計算機->(右鍵)屬性->高級系統設置-->環境變量->(雙擊)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;變量添加完成後需要註銷系統,纔會生效。
在彈出的配置框中配置,選擇“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_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的配置完成。
#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.編譯、運行