OpenCV中SUFR、SIFT无法使用的原因及解决办法
生活随笔
收集整理的這篇文章主要介紹了
OpenCV中SUFR、SIFT无法使用的原因及解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在寫OpenCV程序時中SUFR、SIFT無法使用,會報錯,類似的報錯如下:
無法解析的外部符號"public:__thiscall cv::SURF::SURF(void)" (??0SURF@cv@@QAE@XZ),該符號在函數main 中被引用
無法解析的外部符號"public:__thiscall cv::SURF::SURF(double,int,int,bool,bool)"(??0SURF@cv@@QAE@NHH_N0@Z),該符號在函數main 中被引用
原因:因為SIFT、SURF在美國已經申請了專利,所以并不是免費開源隨便使用的,為此OpenCV中有一個nonfree文件夾包含了一些非免費的頭文件,例如nonfree.hpp文件,使用SURF、SIFT時需要導入該nonfree.hpp文件
同時在項目屬性中添加以下依賴項:
opencv_nonfree246.lib opencv_nonfree246d.lib這樣就可以了。
總結
以上是生活随笔為你收集整理的OpenCV中SUFR、SIFT无法使用的原因及解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【OpenCV】透视变换 Perspec
- 下一篇: C++ WINDOWS API 第1章