看到Depth Map有一篇改善的Paper有附上原始碼,因此拿來編譯作測試。此專案需要使用到openCV的Library。
Paper名為: Cross-Scale Cost Aggregation for Stereo Matching
Source Code Path: https://github.com/rookiepig/CrossScaleStereo (VS2010專案)
要編譯此專案,首先必須先安裝好win7端的openCV(Extract到資料夾)以及VS2012,openCV部分我選擇比較新版的OpenCV 3.0版本,安裝部分我就不再贅述。
openCV的下載網址: http://opencv.org/downloads.html
下面開始說明如何讓一個Visual Studio專案檔能夠使用到openCV的Library,並且順利編譯專案:
1.配置Win7端的openCV環境變數
電腦 =>(按滑鼠右鍵) 選內容 => 進階系統設定 => 進階(標籤)選環境變數 => 變數名Path上點 兩下 => 最後在變數值欄位的最後面加上自己的openCV路徑
假設opencv3.0安裝在 D:\opencv_win\ 請加入值 ";D:\opencv_win\opencv\build\x64\vc11\bin;D:\opencv_win\opencv\build\x86\vc11\bin",如下圖所示:
**這裡路徑裡的vc11代表是Visual Studio 2012。
另外其他的對應如下: vc8 = Visual Studio 2005, vc9=Visual Studio 2008, vc10=Visual Studio 2010, vc11=Visual Studio 2012, vc12=Visual Studio 2013
2. 接下來就請開啟VS2012專案,專案名稱會是XXX.sln請使用VS2012把他開啟,由於我的專案當初是用VS2010撰寫的,所以會先跳出一個提示視窗,請直接選擇update,VS2012會幫你轉成VS2012可用的。
3. 再專案上按滑鼠右鍵,選擇Properties,如下圖:
4. 接著會出現如下圖的視窗,把Configuration選為All Configurations,另外Platform暫時不作更改維持Win32即可,如下圖所示:
5. 選擇左邊的 Configuration Properties => C/C++ => General 點選右邊Additional Include Directories右邊的小箭頭會出現Edit選項,請點選Edit。接著會出現一個小視窗,請在空白地方填入 openCV的Include表頭檔的路徑,請分別填入下面3個路徑:
D:\opencv_win\opencv\build\include
D:\opencv_win\opencv\build\include\opencv
D:\opencv_win\opencv\build\include\opencv2
如下圖所示:
6. 選擇左邊的 Linker => General 點選右邊Additional Library Directories右邊的小箭頭會出現Edit選項,請點選Edit。接著會出現一個小視窗,請在空白地方填入 openCV的lib函式庫的路徑,請填入下面路徑:
32位元請填: D:\opencv_win\opencv\build\x86\vc11\lib(此SSCA專案填這個值)
64位元請填: D:\opencv_win\opencv\build\x64\vc11\lib(如果專案須用到64位元的請填這個)
如下圖所示:
7. 選擇左邊的 Linker => Input 點選右邊Additional Dependencies 右邊的小箭頭會出現Edit選項,請點選Edit。接著會出現一個小視窗,請在空白地方填入 openCV的dll函式庫名稱,請填入:
opencv_ts300.lib
opencv_ts300d.lib
opencv_world300.lib
opencv_world300d.lib
如下圖所示:
基本上照上面的步驟作完,Project就可以正常的編譯過了!!
附註:
############################################################
如果你編譯的Project跟作者一樣是 SSCA這個Project的話,記得要去修改兩個檔案才可以順利編譯過關,分別是:
SSCA\CAST\StereoDisparity.h
SSCA\CommFunc.h
裡面的Code原本是引用openCV 2.4.6 請把它改成引用 openCV 3.0的,請改成如下:
// Opencv Lib 3.0
#pragma comment( lib, "opencv_ts300.lib" )
#pragma comment( lib, "opencv_ts300d.lib" )
#pragma comment( lib, "opencv_world300.lib" )
#pragma comment( lib, "opencv_world300d.lib" )
#####################################################################
沒有留言:
張貼留言