在sift算法實現中,出現了這個問題
出現問題:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 無法打開包括文件: “opencv2/nonfree/features2d.hpp”: No such file or directory
解決方案:
opencv在3.0版本后sift等一些非免費開源的方法和函數被放到到了opencv_contrib庫里,所以直接用opencv調用sift相關函數是無法加載的,需要自己Cmake源代碼生成包含opencv_contrib的庫;
其中有opencv3.2的自解壓windows包,下載地址為:https://opencv.org/opencv-3-2.html
opencv_contrib-3.2.0.zip壓縮包,下載地址為:https://github.com/opencv/opencv_contrib/releases
CMake可視化編譯工具,需要自己下載安裝
protobuf-cpp-3.1.0.tar.gz時谷歌的文本協議工具,需要翻牆下載,在編譯的時候下載容易因為無法下載出錯,所以提前下載:https://github.com/google/protobuf/releases?after=v3.2.1
安裝相關步驟: https://blog.csdn.net/weixin_37800680/article/details/72566294 https://blog.csdn.net/KYJL888/article/details/74332710 https://blog.51cto.com/joekeji/1917226 //這個安裝介紹的最詳細,我是以這個為主
安裝過程中錯誤和重要步驟提醒:
1.這里的vs版本和電腦位數一定要選對
2.這里一定要選對opencv_contrib源碼包中的modules目錄位置
3、在vs2015上的設置與再生成
第一個坑:
這里出錯:
VS 編譯后 install報錯(error MSB3073):https://blog.csdn.net/weixin_30869099/article/details/97188900
這一步很容易出錯;我花了一天才弄好,具體見我的博文:
opencv3.2.0+opencv_contrib-3.2.0+vs2015相關文件的配置
4.install生成后,重新建項目,搭建新環境出錯:
環境配置可參考:
win7+VS2015+opencv3.2.0 安裝配置坑點詳解LINK ERROR 1104
但是我的還是出錯了。提示我:
無法打開文件“opencv_aruco320d.lib”
我的路徑都是對的,但是就是提示打不開;
解決:(1)系統變量沒有添加;
(2)添加依賴項直接復制網上的,依賴項后面很可能有空格或者其他不能識別,直接導致找不到;
可以復制完后,刪除空白位置;
(3)上述兩步都做了;但是還是會出錯。
解決:這種問題最簡單粗暴的方法,是把相關的dll都拷貝到Windows操作系統的目錄下。如果你的Windows安裝在C盤,那么路徑就是c:\Windows\System32。按照之前我的OpenCV的存放環境;
最后成功!
其實最簡單的是使用低版本的opencv庫,因為從opencv3.0后,一些不成熟的庫就放在opencv_contrib-3.2.0這個包里面;
最后一句:環境搭建真是浪費時間,大家搭配環境時一定要看仔細,一步錯了就要重新搭建或者找錯
還有許多錯誤我沒遇到,但是一位大神寫的很清楚,我的就是參考其搭建成功,網址