1. 程式人生 > >opencv “未宣告的識別符號:SurfFeatureDetector”問題解決辦法

opencv “未宣告的識別符號:SurfFeatureDetector”問題解決辦法

在VS中使用opencv2.4.X版本的時候,如果使用SurfFeatureDetector(或者SiftFeatureDetector)做特徵點檢測的時候,按照官方文件上的示例程式碼include標頭檔案為:opencv2/features2d/features2d.hpp,則會出現如下報錯:errorC2065: “SurfFeatureDetector”: 未宣告的識別符號。

1、實際上2.4.X版本的SurfFeatureDetector(或者SiftFeatureDetector)包含在opencv2/nonfree/features2d.hpp中,所以應該include這個標頭檔案,並且在“專案屬性->連結器->輸入->附加依賴項”中加入庫檔案:opencv_nonfree240d.lib(以opencv2.4.0為例子)。

2、同時,特徵點匹配中如果使用到BruteForceMatcher則應該include標頭檔案:opencv2/legacy/legacy.hpp,並在“專案屬性->連結器->輸入->附加依賴項”中加入庫檔案:opencv_legacy240d.lib(以opencv2.4.0為例子)。

3、此外,特徵點匹配中如果用到FlannBasedMatcher則應該include標頭檔案:opencv2/features2d/features2d.hpp,並在“專案屬性->連結器->輸入->附加依賴項”中加入庫檔案:opencv_features2d240d.lib(以opencv2.4.0為例子)。