經典演算法研究系列 九之續 sift演算法的編譯與實現

2021-09-08 07:43:37 字數 2632 閱讀 8535

九之續、sift演算法的編譯與實現

為了給有興趣實現sift演算法的朋友提供個參考,特整理此文如下。要了解什麼是sift演算法,請參考:九、影象特徵提取與匹配之sift算法。ok,咱們下面,就來利用rob hess維護的sift 庫來實現sift演算法:

請按以下步驟操作:

二、安裝opencv1.0,配置windows環境變數

1、安裝注意:假如你是將opencv安裝到c:/program files/opencv(如果你安裝的時候選擇不是安裝在c盤,則下面所有對應的c盤都改為你所安裝在的那個「x盤

」,即可),在安裝時選擇"將/opencv/bin加入系統變數",打上「勾」。(add/opencv/bin to the systerm path。這一步確認選上了之後,下面的檢查環境變數的步驟,便可免去)

2、檢查環境變數。為了確保上述步驟中,加入了系統變數,在安裝opencv1.0成功後,還得檢查c:/program files/opencv/bin是否已經被加入到環境變數path,如果沒有,**入。

3、最後是配置visual c++ 6.0。

全域性設定

選單tools->options->directories:先設定lib路徑,選擇library files,在下方填入路徑:

c:/program files/opencv/lib

然後選擇include files,在下方填入路徑(參考下圖):

c:/program files/opencv/cxcore/include

c:/program files/opencv/cv/include

c:/program files/opencv/cvaux/include

c:/program files/opencv/ml/include

c:/program files/opencv/otherlibs/highgui

c:/program files/opencv/otherlibs/cvcam/include

最後選擇source files,在下方填入路徑:

c:/program files/opencv/cv/src

c:/program files/opencv/cxcore/src

c:/program files/opencv/cvaux/src

c:/program files/opencv/otherlibs/highgui

c:/program files/opencv/otherlibs/cvcam/src/windows

專案設定

每建立乙個將要使用opencv的vc project,都需要給它指定需要的lib。選單:project->settings,然後將setting for選為all configurations,然後選擇右邊的link標籤,在object/library modules附加上:

cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib

當然,你不需要這麼多lib,你可以只新增你需要的lib(見下圖)

三。在編譯時候gsl也是和opencv一樣要把頭檔案和lib的路徑指定好。

、配置gsl

將c:/wingsl/bin中的wingsl.dll和wingsld.dll複製到c:/vc6.0/bin;將整個gsl目錄複製到c:/vc6.0/bin下;lib目錄下的所有.lib檔案全部複製到c:/vc6.0/lib下。

然後,在tools-options-directories中,將c:/wingsl下的lib,gsl分別加入到庫檔案和標頭檔案的搜尋路徑中。

以下是可能會出現的錯誤情況處理:

i、opencv安裝後「沒有找到cxcore100.dll」的錯誤處理

在安裝時選擇「將/opencv/bin加入系統變數」(add/opencv/bin to the systerm path)。 但該選項並不一定能成功新增到系統變數,如果編寫的程式在執行時出現「沒有找到cxcore100.dll,因為這個應用程式未能啟動。重新安裝應用程式可能會修復此問題。」的錯誤。

手動在我的電腦->屬性->高階->環境變數->系統變數->path新增c:/program files/opencv/bin;新增完成後需要重啟計算機。

ii、vc6.0下配置了一下,可是編譯程式時遇到如下乙個錯誤:

linking... link : fatal error lnk1104: cannot open file"odbccp32.libcxcore.lib"

可能是:在工程設定的時候新增連線庫時沒加空格或.來把兩個檔名(odbccp32.lib cxcore.lib)分開。注意每一次操作後,記得儲存。

經典演算法研究系列 九之續 sift演算法的編譯與實現

九之續 sift演算法的編譯與實現 為了給有興趣實現sift演算法的朋友提供個參考,特整理此文如下。要了解什麼是sift演算法,請參考 九 影象特徵提取與匹配之sift算法。ok,咱們下面,就來利用rob hess維護的sift 庫來實現sift演算法 請按以下步驟操作 一 二 安裝opencv1....

經典演算法研究系列 九之續 sift演算法的編譯與實現

九之續 sift演算法的編譯與實現 為了給有興趣實現sift演算法的朋友提供個參考,特整理此文如下。要了解什麼是sift演算法,請參考 九 影象特徵提取與匹配之sift算法。ok,咱們下面,就來利用rob hess維護的sift 庫來實現sift演算法 請按以下步驟操作 一 二 安裝opencv1....

SIFT演算法系列之特徵點檢測

特徵點檢測演算法簡述 說到特徵 feature 可能包含許多種類 常用的影象領域的主要特徵有顏色特徵 紋理特徵 形狀特徵 空間關係特徵。其實不論哪種特徵,其特徵的描述或者表達的主要思路在於 通過特徵的提取表達來區分影象的資訊。特徵點可以理解為是影象中變化較大的資訊區域,具有獨特性。為什麼要把影象中的...