1. 程式人生 > >Opencv學習筆記:(2)在VS2012中配置Opencv2.4.9專案

Opencv學習筆記:(2)在VS2012中配置Opencv2.4.9專案

最新的opencv版本出到了2.4.9,本文將探討如何在vs2012中配置opencv2.4.9庫。關於vs2012的安裝就不討論了,想必對大家來說都很容易啦。廢話不多說,下面開始:

一、Opencv2.4.9的下載及解壓。

1.      下載opencv2.4.9 ,這是官網連結,下載地址http://opencv.org/

2.      這是我下載過來的檔案 ,雙擊,將opencv2.4.9提取到某個資料夾中(任意資料夾,路徑中最好不要包括中文名字)。這裡,我將他提取到E盤根目錄下E:\。解壓後,包括如下兩個資料夾

二、在VS2012下配置Opencv2.4.9專案

1. 開啟VS2012,建立一個空專案,這裡我建立一個空專案,名為testOpencv。

2. 配置環境變數,步驟如下:

A.右擊“計算機”,選擇“屬性”。

B.在得到的頁面中,選擇“高階系統設定”,如下:


C.然後選擇環境變數,如下圖:


D.在使用者變數或者系統變數中找到PATH變數(我這裡在使用者變數中找),如下圖。


在右側值中新增如下路徑,E:\opencv2.4.9\build\x86\vc11\bin(我這裡opencv在E盤的根目錄下,配置是根據自己的opencv位置更改),新增,如下圖:


注意:1. 新增的環境變數值之間要用分號隔開。

      2. 環境變數修改之後要登出計算機才能生效。

3. 配置新專案屬性,

   A.右擊專案名,如下圖:


  B.在右擊後出現的選項卡中選擇“屬性”,獲得屬性卡,如下:

 

C.新增包含目錄和庫目錄,單擊“VC++目錄”,下圖為新增之前:


根據自己Opencv提取在哪個檔案,將相應路徑新增到包含目錄和庫目錄,我的路徑分別是E:\opencv2.4.9\build\include和E:\opencv2.4.9\build\x86\vc11\lib,可以理解路徑中的x86表示32位系統,x64是64位系統(注意:64位系統也可以建立32位專案,這在屬性卡的最頂端選項平臺改動,我的電腦是64為系統,但是建立的是32位專案)。新增之後的效果圖如下,注意觀察右邊黑體。


D.接下來新增附加依賴項,依次點選屬性卡上的聯結器,輸入,可以看到附加依賴在屬性卡的最上端,如下:


接下來,新增依賴項,即在附加依賴項的右邊輸入。

下面是主要的opencv靜態庫,可以看出,每個lib對應一個opencv模組,這在上一篇部落格中有講到,我們可以根據自己應用到的模組,可以按自己需求新增。這裡列出了主要庫,

Debug版:

opencv_core249d.lib
opencv_imgproc249d.lib

opencv_highgui249d.lib
opencv_ml249d.lib
opencv_video249d.lib
opencv_features2d249d.lib
opencv_calib3d249d.lib
opencv_objdetect249d.lib
opencv_contrib249d.lib
opencv_legacy249d.lib
opencv_flann249d.lib

Release版:

opencv_core249.lib
opencv_imgproc249.lib

opencv_highgui249.lib
opencv_ml249.lib
opencv_video249.lib
opencv_features2d249.lib
opencv_calib3d249.lib
opencv_objdetect249.lib
opencv_contrib249.lib
opencv_legacy249.lib
opencv_flann249.lib

   其中的數字表示opencv的版本,這是opencv的各種版本配置的主要區別,對比Debug版和Release版,只是Release版數字後面沒有字母d。這裡,我按照後面測試程式用到的模組,將依賴項新增進去(當然,如果你不知道用到了哪些模組,可以將上面所有模組新增進去)。如下圖,我已經添加了我需要的模組的庫,opecv_core249d.lib和opencv_highgui249d.lib分別是opencv的核心資料結構和opencv的簡單GUI模組,這在我測試後面的程式用到。


點選確定。

 

依次點選確定,這樣opencv的配置就完成了(注意,你自己寫opencv專案時,如果不確定新增哪些模組時,將上面羅列出來的全部新增吧)。

三、寫一個簡單圖片讀入顯示程式檢驗opencv2.4.9專案配置是否正確

在新建的專案裡面建立一個cpp主函式,複製下面程式碼:

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


int main()
{
	cv::Mat image=cv::imread("lena.jpg");//讀入一張圖片
	cv::imshow("Test for Opencv2.4.9",image);//顯示一張圖片
	cv::waitKey();
	return 0;
}

編譯並執行程式,如果沒有錯誤,會顯示如下影象。(至於上面程式碼的含義,以後會有講解)


看到以上圖片顯示成功,就成功了。

這張圖片是影象處理領域中,著名的lena圖片,它可以在opencv的sample中找到,路徑如下: opencv2.4.9\sources\samples\cpp\lena.jpg。

注:我建立的工程檔案可以下載並執行,但是由於我的路徑和大家電腦裡面的不一樣,請按照自己電腦opencv的位置進行修改。(我的專案下載地址:http://download.csdn.net/detail/shiyimin1/7366035